尝试运行以下脚本转到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中。
答案 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