无法让Selenium Geckodriver使用Python - Mac OSX High Sierra

时间:2017-10-30 19:54:11

标签: python macos selenium selenium-webdriver

我一直在努力让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. 

1 个答案:

答案 0 :(得分:0)

您必须设置geckodriver的路径。方法如下:

driver = webdriver.Firefox(profile, executable_path=r'/pathTo/geckodriver')
driver.get("https://www.google.com")

确保该文件是可执行的:

  • chmod + x geckodriver ++

修改

如果您不想在代码中指定executable_path,则必须在PATH环境变量中添加:

export PATH=$PATH:/path/to/geckodriver