点击Python

时间:2017-10-19 04:14:11

标签: python selenium geckodriver

尝试运行以下脚本转到this网站,然后单击链接以导出csv。

from selenium import webdriver
driver=webdriver.Firefox()
driver.get("https://www.draftkings.com/contest/gamecenter/46877680")
elem1 = driver.find_element_by_link_text("Export Lineups to CSV")
elem1.click()

我收到以下错误,无法找到geckodriver。我点了装硒。我从一个较旧的视频得到了这个,我目前正在运行Python 3.6,所以这也可能是问题的一部分。我哪里错了?

  

追踪(最近一次通话):     文件" C:\ Program Files \ Python36 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py",第74行,开始       stdout = self.log_file,stderr = self.log_file)     文件" C:\ Program Files \ Python36 \ lib \ subprocess.py",第707行, init       restore_signals,start_new_session)     _execute_child中的文件" C:\ Program Files \ Python36 \ lib \ subprocess.py",第992行       STARTUPINFO)   FileNotFoundError:[WinError 2]系统找不到指定的文件

在处理上述异常期间,发生了另一个异常:

  

追踪(最近一次通话):     File" C:/Users/mike/Desktop/Lineup1.py" ;,第2行,in       驱动= webdriver.Firefox()     文件" C:\ Program Files \ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ webdriver.py",第144行, init       self.service.start()     文件" C:\ Program Files \ Python36 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py",第81行,开始       os.path.basename(self.path),self.start_error_message)   selenium.common.exceptions.WebDriverException:消息:' geckodriver'可执行文件需要在PATH中。

2 个答案:

答案 0 :(得分:1)

下载geckodriver并将geckodriver.exe文件拖放到项目根文件夹中。这样,就不需要在代码中添加geckodriver路径,并再次尝试执行代码。不会出现错误

答案 1 :(得分:-1)

实际上,Selenium客户端绑定尝试从系统PATH中找到geckodriver可执行文件。您需要将包含可执行文件的目录添加到系统路径。 在Unix系统上,如果您使用的是与bash兼容的shell,则可以执行以下操作将其附加到系统的搜索路径中:

export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step

在Windows上,您需要更新Path系统变量以手动或命令行添加可执行geckodriver的完整目录路径(在将可执行geckodriver添加到系统PATH中后,不要忘记重新启动系统才能生效)。原理与Unix相同。

然后尝试使用以下

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/installed firefox binary')
browser = webdriver.Firefox(firefox_binary=binary)

<强>参考,

https://github.com/mozilla/geckodriver/releases

https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver