社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

manish uniyal • 7 年前 • 2143 次点击  

我想在服务器上使用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
文章 [ 6 ]  |  最新文章 7 年前
S7bvwqX
Reply   •   1 楼
S7bvwqX    7 年前

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

我使用的是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    7 年前

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

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

python481516
Reply   •   3 楼
python481516    7 年前

通过仔细删除现有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    8 年前

在工作时 硒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    8 年前

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

sudo apt-get install -y chromium-browser

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

TPPZ
Reply   •   6 楼
TPPZ    8 年前

似乎 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(在我的例子中,但是我想类似的东西对任何版本的 铬合金驱动器 )