python3.6.1+selenium3.0環境安裝問題及解決方法
阿新 • • 發佈:2017-06-06
pre trace service java版本 erro back res exec rem
腳本:(打開火狐瀏覽器,進入百度網頁,搜索selenium)
from selenium import webdriver browser = webdriver.Firefox(); browser.get("http://www.baidu.com"); browser.find_element_by_id("kw").send_keys("selenium"); browser.find_element_by_id("su").click(); browser.quit();
執行腳本報錯1:
Traceback (most recent call last): File"D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start stdout=self.log_file, stderr=self.log_file) File "D:\2017\programming language\python\installPath\lib\subprocess.py", line 707, in __init__ restore_signals, start_new_session) File"D:\2017\programming language\python\installPath\lib\subprocess.py", line 990, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系統找不到指定的文件。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\2017\programming language\python\installPath\Scripts\baidu.py", line 3, in <module> browser = webdriver.Firefox(); File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 142, in __init__ self.service.start() File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: ‘geckodriver‘ executable needs to be in PATH.
這裏提到geckodriver驅動,selenium3.x中,firefox瀏覽器驅動獨立,需要單獨安裝;
解決方法:下載geckodriver驅動,將其放入python安裝路徑中,確保path中已添加該路徑;
再次執行腳本,報錯2:
Traceback (most recent call last): File "D:\2017\programming language\python\installPath\Scripts\baidu.py", line 3, in <module> browser = webdriver.Firefox(); File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 152, in __init__ keep_alive=True) File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 98, in __init__ self.start_session(desired_capabilities, browser_profile) File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 188, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 256, in execute self.error_handler.check_response(response) File "D:\2017\programming language\python\installPath\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities
解決方法:
1. 檢查本機java版本,selenium3.x只支持java8版本以上,這裏符合要求;
2. geckodriver版本是v0.16.1 ,firefox瀏覽器版本是45,卸載firefox,安裝最新版本的firefox版本53;
運行腳本,可以正常執行。
python3.6.1+selenium3.0環境安裝問題及解決方法