How to fix Selenium WebDriverException: The browser appears to have exited before we could connect?(如何修复 Selenium WebDriverException:浏览器似乎在我们连接之前已经退出?)
问题描述
我已经在我的 centos6.4 服务器上安装了 firefox 和 Xvfb 来使用 selenium webdriver.
I have installed firefox and Xvfb on my centos6.4 server to use selenium webdriver.
但是,当我运行代码时,我得到了一个错误.
But, when I run the code, I got an error.
from selenium import webdriver
browser = webdriver.Firefox()
错误
selenium.common.exceptions.WebDriverException: Message:
'The browser appears to have exited before we could connect. The output was: None'
我在 stackoverflow 上阅读了一些相关页面,有人建议删除 tmp 文件夹中的所有文件,所以我做到了.但是还是不行.
I read some related pages on stackoverflow and someone suggested to remove all files in tmp folder, so I did it. But, it still doesn't work.
谁能帮帮我?
提前谢谢你!
编辑
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.4/site-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
self.binary, timeout),
File "/usr/local/lib/python3.4/site-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
self.binary.launch_browser(self.profile)
File "/usr/local/lib/python3.4/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 64, in launch_browser
self._wait_until_connectable()
File "/usr/local/lib/python3.4/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 103, in _wait_until_connectable
self._get_firefox_output())
selenium.common.exceptions.WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: None'
推荐答案
对于 Google 员工来说,这个答案对我不起作用,我不得不使用 这个答案.我正在使用 AWS Ubuntu.
for Googlers, this answer didn't work for me, and I had to use this answer instead. I am using AWS Ubuntu.
基本上,我需要先安装 Xvfb,然后再安装 pyvirtualdisplay:
Basically, I needed to install Xvfb and then pyvirtualdisplay:
sudo apt-get install xvfb
sudo pip install pyvirtualdisplay
一旦我这样做了,这个 python 代码就可以工作了:
Once I had done that, this python code worked:
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(1024, 768))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.ubuntu.com/')
print browser.page_source
browser.close()
display.stop()
感谢@That1Guy 的第一个回答
Thanks to @That1Guy for the first answer
这篇关于如何修复 Selenium WebDriverException:浏览器似乎在我们连接之前已经退出?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何修复 Selenium WebDriverException:浏览器似乎在我们连接之前已经退出?
基础教程推荐
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 筛选NumPy数组 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01