当我想使用FireFox webdriver
引发WebDriverException“浏览器似乎已退出” WebDriverException:消息:在我们连接之前,浏览器似乎已退出。如果在中指定了log_file FirefoxBinary构造函数,请查看详细信息。
我读了this question并更新了我的硒,但我已经遇到了同样的问题。
我的代码:
driver = webdriver.Firefox()
time.sleep(5)
driver.get('http://www.example.com')
更新
现在我有这个错误
OSError: [Errno 20] Not a directory
Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x407a690>> ignored
答案 0 :(得分:8)
如果你在Firefox 47.0上运行Selenium,你需要更新到Firefox 47.0.1 ,而这在Ubuntu的主要存储库中没有发布..所以你必须添加这个PPA:https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa
发行说明: https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/
“Selenium WebDriver可能会导致Firefox在启动时崩溃”
一旦Firefox 48.0出局,它将包含修复程序。我认为Ubuntu已经跳过了这个更新,因为它影响了很少的用户。
我可以用FF 47.0和Selenium 2.53确认错误,我也可以确认升级到FF 47.0.1修复错误。
答案 1 :(得分:4)
通过手动将firefox 47.0.0更新为47.0.1来解决此问题
答案 2 :(得分:2)
我的selenium脚本遇到了同样的问题。我必须确保使用selenium安装文档中描述的正确软件版本,即Pyhton 3.5和Firefox版本45(https://support.mozilla.org/en-US/kb/install-older-version-of-firefox)。我使用的是硒版本2.9.1,尽管阅读2.53左右可能效果最好。
我在评论中注意到您还质疑如何检查Firefox的版本。要执行此操作,您可以打开Firefox浏览器,单击菜单按钮,然后单击弹出菜单底部的问号,最后单击&#34;关于Firefox&#34;。版本号应该是弹出窗口中的第二行文本。可能有其他方法可以这样做,但这对我有用。
希望这可以帮助您运行脚本。
答案 3 :(得分:1)
对于像我这样的人浪费时间安装几个firefox版本来使其正常工作:如果你在没有显示的环境中运行测试(例如SSH到你的流浪者盒子),就会出现相同的消息错误。
sudo apt-get install xvfb
#set display number to :99
Xvfb :99 -ac &
export DISPLAY=:99
请记住将其放在.bashrc中,因为它仅在当前会话shell中有效。
自:
Is it possible to run selenium (Firefox) web driver without a GUI?
答案 4 :(得分:0)
1.安装最新的Firefox(我的是50.1.0)
apt-get install firefox
2-下载最新的geckodriver 来自this repo
3-解压缩下载的文件
tar -xvf geckodriver-v0.13.0-linux64.tar.gz
4- mv ./geckodriver /usr/bin
5- ln -s /usr/bin/geckodriver /usr/local/bin/.