[英]Docker Selenium: selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 127
[英]selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited
我知道已经有人问过非常相似的问题,但即使经过几个小时的谷歌搜索、研究和比较,我也无法弄清楚问题是什么。 我的最终目标是使用 selenium 用 Python 进行一些网络抓取,但现在我什至无法启动 webdriver。 这是到目前为止我得到的代码和错误消息:
$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyvirtualdisplay import Display
>>> from selenium import webdriver
>>>
>>> display = Display(visible=0, size=(1024, 768))
>>> display.start()
<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1024x768x24', ':1069'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1024x768x24', ':1069'] oserror=None return_code=None stdout="None" stderr="None" timeout_happened=False>
>>> d = webdriver.Chrome()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 96, in start
self.assert_process_still_running()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 109, in assert_process_still_running
% (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1
chromedriver 版本为 2.30,位于:
$ ll /usr/local/bin/chromedriver
-rwxr-xr-x 1 stefan stefan 8475456 Jun 7 15:53 /usr/local/bin/chromedriver
由于它在/usr/local/bin
,因此在实例化 webdriver 时不需要指定路径,如d = webdriver.Chrome("/path/to/chromedriver")
。
在我能够运行上面的代码之前,我安装了谷歌 Chrome 浏览器、xvfb、pyvirtualdisplay 和 selenium。 我在其中使用的命令:
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
sudo apt-get install -f
sudo apt-get install xvfb
wget -N http://chromedriver.storage.googleapis.com/2.30/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin
sudo pip install pyvirtualdisplay selenium
所以,我拥有所有软件的最新版本。 非常感谢有关解决我的问题的方法的任何帮助。 非常感谢您提前。
将 chromedriver.exe 和您的程序放在同一目录中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.