Geckodriver试图访问旧版本v0.19,即使在通过SeleniumPython升级到v0.23之后也是如此



我更新了Firefox版本63和Selenium,但在运行Selenium时遇到了问题:

selenium.common.exceptions.WebDriverException: Message: newSession.

我下载了新的geckodriver 0.23-64版本,并授予了执行权限并设置了路径,但它仍然不起作用,当我键入命令geckodrive时,它返回一个旧版本:

1544545001835    geckodriver    INFO    geckodriver 0.19.1
1544545001840    geckodriver    INFO    Listening on 127.0.0.1:4444

此错误消息。。。

selenium.common.exceptions.WebDriverException: Message: newSession
.
1544545001835 geckodriver INFO geckodriver 0.19.1 
1544545001840 geckodriver INFO Listening on 127.0.0.1:4444

这意味着,尽管您已经下载了新的GeckoDriver v0.23SeleniumFirefox v63.x,但您的程序仍在尝试访问旧版本geckoDriver0.19.1

解决方案

使用密钥executable_path以及GeckoDriver v0.23二进制文件的绝对路径Value覆盖默认OS变量,您可以使用以下解决方案:

  • Linux/MAC OS X:

    from selenium import webdriver
    driver = webdriver.Firefox(executable_path=/path/to/geckodriver')
    driver.get("http://google.com/")
    
  • Windows:

    from selenium import webdriver
    driver = webdriver.Firefox(executable_path=r'C:pathtogeckodriver.exe')
    driver.get("http://google.com/")
    

最新更新