当我使用
时,我不断收到Selenium Python中的错误消息driver = webdriver.Firefox()
driver.get('http://stackoverflow.com')
错误讯息:
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH or:
selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities.
我在Selenium Python中不断收到此消息。我可以通过以下方式解决这个问题:
driver = webdriver.Firefox(executable_path=r'C:\Users\Bain3\Music\geckodriver.exe')
driver.get(' http://stackoverflow.com' )
我尝试过以下操作来解决Chrome和Firefox的这个问题: 重新安装Chrome,Firefox,Pycharm,Anaconda,Selenium(pip install selenium)
更改文件目录:https://ibb.co/huDuWk
重新安装Chrome和Firefox后出现此问题 目录是:
C:\Users\Bain3\Anaconda3
C:\Brother\geckodriver.exe
C:\Program Files\Mozilla Firefox\firefox.exe
我正在使用Windows 10 感谢
答案 0 :(得分:1)
设置路径有两种方法
将chromedriver.exe
的路径放入PATH
(在Windows计算机上),这样您的PATH
设置正确,但您需要调用默认构造函数使用它。
driver = webdriver.Chrome()
在webdriver.Chrome(executable_path='some path')
中指定路径。在这里,您需要可执行文件的完整路径,而不是存储路径的目录。
webdriver.Chrome(executable_path='C:\\Users\sankalp\\chromedriver.exe')
选择您想要的任何一个。
答案 1 :(得分:0)
是。您需要在Windows中更新Path环境变量。只需将现有变量值附加到实际包含chrome / gecko驱动程序的文件夹路径即可。本文档可能对您有所帮助,
注意 - 虽然我们可以通过这样做来摆脱添加executable_path,但这不是首选。因为将来它可能会与您要使用的驱动程序版本产生冲突。我建议您将executable_path的值存储在变量中并将其传递给脚本,而不是永久更新路径变量。通过这种方式,您可以更好地控制驱动程序版本。
为了将驱动程序路径存储在变量中,下面的行可能会给你一些想法。
geckoPath=r'C:\Users\Bain3\Music\geckodriver.exe'
driver = webdriver.Firefox(executable_path=geckoPath)
driver.get(' http://stackoverflow.com' )
希望这会有所帮助。感谢。
答案 2 :(得分:0)
第一步是设置路径MyCopmuter - >属性 - >环境变量 - >有你的道路。 然后是下面的示例代码:
from selenium import webdriver
webdriver.Firefox(executable_path='C:\\Users\xyz\\chromedriver.exe')
driver.get(' http://stackoverflow.com' )
filename="stack_screen_shot"
#to save in a file in output folder
browser.save_screenshot("C:\\Users\\xyz\\PycharmProjects\\output\\"+file_name+".png")