我更新了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.23、Selenium和Firefox 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/")