无界面ubuntu运行selenium流程

踩过的坑才是值得回味的

 

ubuntu安装chrome


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    # Might show "errors", fixed by next line
sudo apt-get install -f
google-chrome --version      # 查看版本

在chrome下载后 进行dpkg的时候有些机器会报错,报错如下

google-chrome-stable depends on libappindicator1; however:
  Package libappindicator1 is not installed.
 
dpkg: error processing package google-chrome-stable (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.6.7.1-1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.54ubuntu1) ...
Errors were encountered while processing:
 google-chrome-stable

解决如下:

#该更新的更新 缺依赖的安装依赖

sudo apt-get update
 
sudo apt-get install libgconf2-4 libnss3-1d libxss1
 
sudo apt-get -f install

而后安装成功!

可以查看版本 进而下载对应的 chrome插件

对应chrome下载、firefox下载、chromedriver下载、所有版本selenium以及IEDriverServer下载:

https://www.cnblogs.com/alisapan/p/6428695.html
2019对照表

ChromeDriver 76.0.3809.12 (2019-06-07)---------Supports Chrome version 76
ChromeDriver 75.0.3770.8 (2019-04-29)---------Supports Chrome version 75
ChromeDriver v74.0.3729.6 (2019-03-14)--------Supports Chrome v74
ChromeDriver v2.46 (2019-02-01)----------Supports Chrome v71-73


2018对照表

ChromeDriver v2.45 (2018-12-10)----------Supports Chrome v70-72
ChromeDriver v2.44 (2018-11-19)----------Supports Chrome v69-71
ChromeDriver v2.43 (2018-10-16)----------Supports Chrome v69-71
ChromeDriver v2.42 (2018-09-13)----------Supports Chrome v68-70
ChromeDriver v2.41 (2018-07-27)----------Supports Chrome v67-69
ChromeDriver v2.40 (2018-06-07)----------Supports Chrome v66-68
ChromeDriver v2.39 (2018-05-30)----------Supports Chrome v66-68
ChromeDriver v2.38 (2018-04-17)----------Supports Chrome v65-67
ChromeDriver v2.37 (2018-03-16)----------Supports Chrome v64-66
ChromeDriver v2.36 (2018-03-02)----------Supports Chrome v63-65
ChromeDriver v2.35 (2018-01-10)----------Supports Chrome v62-64

下载后拉取到自己服务器上

我是下载到本地使用 scp到服务器

scp root@0.0.0.0: /root/chromedriver/zip /root/

然后各种放到 /usr/bin/目录下给权限 

完事,写个测试代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options


chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
###chrome_options.add_argument('--no-sandbox') # 这个配置很重要
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='/usr/bin/chromedriver')
driver.get('https://m.baidu.com/')
assert "百度" in driver.title 
cookie = driver.get_cookies()

import time

time.sleep(1)
print(cookie)
driver.quit()

注:

使用###注释的这一句 如果不使用的话会报错

selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

意思就是启动不起来  未知错误,这个问题搜索到好久才找到  故此记录一下

 

把那个 注释去掉之后  就可以完美运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值