時(shí)至今日爪瓜,Selenium已經(jīng)到了3.3.1版了(2017年3月7日)。
自從Selenium3發(fā)布以來痴荐,火狐瀏覽器(Selenium支持火狐的技術(shù)最為成熟烘豌,因?yàn)榭梢苑奖惬@取從而控制網(wǎng)頁信息华蜒,也是測(cè)試人員最喜歡用的瀏覽器之一)成為了一個(gè)普遍的問題辙纬。
因?yàn)镾elenium3不支持向前支持火狐瀏覽器了,40以后版本的火狐叭喜,運(yùn)行會(huì)出現(xiàn)問題贺拣。
如運(yùn)行報(bào)錯(cuò):
lenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
這是因?yàn)樵贔irefox高版本需要使用 geckodriver 來驅(qū)動(dòng),不再使用Seleniu默認(rèn)自帶的Firefox webdriver。
我們只需要在下面這個(gè)地址下載 geckodriver 并將 其所在的路徑設(shè)為環(huán)境變量即可解決捂蕴。
https://github.com/mozilla/geckodriver/releases
當(dāng)報(bào)如下錯(cuò)誤信息時(shí)譬涡,則是
selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location,
no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line
這時(shí)我們需要指定Firefox瀏覽器程序路徑。
binary = FirefoxBinary('D:\\Firefox\\Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
注:提示找不到"firefoxBinary"可以通過下面語句導(dǎo)入? ? from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
這樣就能正常使用了啥辨。
另一個(gè)處理辦法是將firefox的安裝路徑涡匀,直接增加到 python35\Lib\site-packages\selenium\webdriver\firefox 目錄下的 firefox_binary.py文件中,如下圖所示委可,然后driver = webdriver.Firefox()調(diào)用