β

selenium geckodriver marionetteProtocol问题

卉莜阁&俊 359 阅读
selenium geckodriver marionetteProtocol问题

环境:
CentOS7
python-3.5.2
selenium-3.0.1
firefox-38.3.0-2.el7.centos.x86_64

报错1 'geckodriver':
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH

原因:
selenium 3.x开始,webdriver/firefox/webdriver.py的__init__中,executable_path="geckodriver";而2.x是executable_path="wires"
firefox 47以上版本,需要下载第三方driver,即geckodriver

解决:
到geckodriver官网找到对应运行平台的驱动,解压至PATH路径即可
https://github.com/mozilla/geckodriver/releases

curl -sSL https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-linux64.tar.gz|tar -xvf - -C /usr/local/bin --gzip



报错2 'marionetteProtocol' :
selenium.common.exceptions.WebDriverException: Message: Missing 'marionetteProtocol' field in handshake

解决:
升级到firefox-45.5 LTS后正常
firefox升级略

Chrome浏览器,请参看https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver

作者:卉莜阁&俊
原文地址:selenium geckodriver marionetteProtocol问题, 感谢原作者分享。

发表评论