Py学习  »  Python

如何在python web驱动程序[duplicate]中解决此错误

manish uniyal • 5 年前 • 1478 次点击  

我想在服务器上使用selenium构建我的爬虫程序。

因此,我在ubuntu17.10服务器上安装/下载了所需的依赖项,如chromedriver、chromium浏览器等。

但是,当我运行以下代码时:

driver = webdriver.Chrome()

它返回以下错误:

---------------------------------------------------------------------------
WebDriverException                        Traceback (most recent call last)
<ipython-input-14-2cdab8938403> in <module>()
----> 1 driver = webdriver.Chrome()

/home/zachary/.local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options)
     66             service_args=service_args,
     67             log_path=service_log_path)
---> 68         self.service.start()
     69 
     70         try:

/home/zachary/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py in start(self)
     96         count = 0
     97         while True:
---> 98             self.assert_process_still_running()
     99             if self.is_connectable():
    100                 break

/home/zachary/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py in assert_process_still_running(self)
    109             raise WebDriverException(
    110                 'Service %s unexpectedly exited. Status code was: %s'
--> 111                 % (self.path, return_code)
    112             )
    113 

WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 127

兴奋是什么意思?

我不知道错误代码的初衷是什么,也不知道从哪里开始修复。

这看起来很罕见。

可能相关:

我已经在我的桌面上安装了ubuntu desktop 17.10,但是未能启动gui。因此,我只是在使用终端,但目前为止它工作良好。 我已经安装了ssh和远程控制jupyter笔记本,从我的mac到服务器桌面,这些错误都来自它。 希望此信息与解决此错误相关,否则将中止它。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40364
 
1478 次点击  
文章 [ 6 ]  |  最新文章 5 年前
S7bvwqX
Reply   •   1 楼
S7bvwqX    6 年前

还原到旧版本也可能是一个解决方案…

我使用的是ubuntu 18.10,安装了最新的selenium(3.141.0)和chromedriver(75.0.3770.8),但也有同样的权限问题,之后的状态码是127。

我试着安装chromium,发现ubuntu使用的是版本73。所以我从chromedriver的最新版本(此时为75)恢复到73版本,这对我很有用。

Pratik Patel
Reply   •   2 楼
Pratik Patel    6 年前

我也有同样的问题,问题是由于 铬合金驱动器 版本。

请确保您使用的是最新的 Chrome Browser 以及最新的 chromedriver .

python481516
Reply   •   3 楼
python481516    6 年前

通过仔细删除现有ChromedRiver并将其更新到新版本来解决:

  1. 删除所有现有的chromedriver文件
  2. 下载 wget https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.zip (如果需要,请将2.46位替换为新的,请参阅此处的兼容版本: http://chromedriver.chromium.org/downloads )
  3. 解压,通过运行 chmod +x chromedriver
  4. 把它移到 mv -f chromedriver /usr/local/bin/chromedriver 所以它出现在

这应该能解决问题。我认为更新不起作用,因为当我第一次尝试时,我没有删除旧版本,我仍然在意外地使用它。

DebanjanB
Reply   •   4 楼
DebanjanB    7 年前

在工作时 硒V3.11.0 , Chromedriver 2.36版 铬V64 你必须下载最新的 铬合金驱动器 ChromeDriver - WebDriver for Chrome 把它放在你的系统里。初始化时的下一步 网络驱动程序 以及 控件 你必须通过辩论 executable_path 以及 铬合金驱动器 如下:

from selenium import webdriver

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
driver.get("http://www.python.org")
Hieu
Reply   •   5 楼
Hieu    7 年前

在我的vps上使用selenium/chromedriver时遇到了同样的错误。我安装 chromium-browser 问题解决了。

sudo apt-get install -y chromium-browser

也许不是 铬浏览器 是必需的,但软件包是随它一起安装的。不过,这是一个很快的解决办法。

TPPZ
Reply   •   6 楼
TPPZ    7 年前

似乎 chromedriver 需要一些额外的库。这为我解决了问题:

apt-get install -y libglib2.0-0=2.50.3-2 \
    libnss3=2:3.26.2-1.1+deb9u1 \
    libgconf-2-4=3.2.6-4+b1 \
    libfontconfig1=2.11.0-6.7+b1

我正在使用docker容器而不是没有x/gui的服务器/vm进行类似的设置。

为了找出需要哪些依赖项,我尝试从命令行迭代运行它,如下所示: /opt/chromedriver/2.33/chromedriver --version 一次又一次。

然后每次我都用 apt-cache search <STUFF> apt-cache madison <STUFF> 找出 deb 所需的包 铬合金驱动器 2.33(在我的例子中,但是我想类似的东西对任何版本的 铬合金驱动器 )