我一直在努力让Firefox的Selenium Geckodriver在Mac上工作一段时间,而我却无法让它工作。
我的/ usr / local / bin /目录中有geckodriver二进制文件,如文档所示。
我什么时候尝试执行以下操作:
from selenium import webdriver
browser = webdriver.Firefox()
type(browser)
browser.get('www.google.com')enter code here
我在Python控制台中收到以下错误。
Traceback (most recent call last):
File "/Users/maxmorin/.thonny/BundledPython36/lib/python3.6/site-
packages/selenium/webdriver/common/service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1326, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/maxmorin/Google Drive/Support Team Python Code/Max's Projects/Release Readiness/selenium_test.py", line 2, in <module>
browser = webdriver.Firefox()
File "/Users/maxmorin/.thonny/BundledPython36/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 144, in __init__
self.service.start()
File "/Users/maxmorin/.thonny/BundledPython36/lib/python3.6/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.
答案 0 :(得分:0)
您必须设置geckodriver的路径。方法如下:
driver = webdriver.Firefox(profile, executable_path=r'/pathTo/geckodriver')
driver.get("https://www.google.com")
确保该文件是可执行的:
修改强>
如果您不想在代码中指定executable_path,则必须在PATH环境变量中添加:
export PATH=$PATH:/path/to/geckodriver