ubuntu下搭建selenium和谷歌无界面浏览器运行环境

本文详细介绍了如何在Linux环境下安装Chrome浏览器及其驱动程序ChromeDriver,并利用Selenium进行自动化测试的过程。涵盖了依赖安装、ChromeDriver配置、Python依赖设置以及无头模式下Chrome的参数调整等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装Chrome浏览器

1、安装依赖

sudo apt-get install libxss1 libappindicator1 libindicator7

 

2、下载Chrome安装包

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

 

3、安装

sudo apt-get -f install

sudo dpkg -i google-chrome*.deb

 

4、查看chrome浏览器版本(安装chromedriver时要对应)

google-chrome --version

 

 

二、安装ChromeDriver

1、安装xvfb以便我们可以无头奔跑地运行Chrome

sudo apt-get install xvfb

 

2、安装unzip

sudo apt-get install unzip

 

3、在浏览器中下载chromedriver安装包

chrome版本与chromedriver版本对照表:

https://blog.youkuaiyun.com/yoyocat915/article/details/80580066

chromedriver下载路径:

http://npm.taobao.org/mirrors/chromedriver/

 

4、解压缩

unzip chromedriver_linux64.zip --> chromedriver

再把chromedriver 复制到 /usr/bin/下 相当于放到环境变量 ,不用再重新设置软连接了

赋予权限 chmod +x chromedriver

 

5、建立软连接--(相当于windows下添加到环境变量,以便系统能找到chromedriver的安装路径)

备注:如果已经 把chromedriver 复制到 /usr/bin/下 就不用这一步操作,建立软连接了

sudo ln -s /home/ronyi/chromedriver /usr/local/bin/chromedriver

sudo ln -s /home/rongyi/chromedriver /usr/bin/chromedriver

 ps:将 /home/rongyi/chromedriver 改为对应的解压路径 

 

 

三、模拟运行Chrome浏览器

1、安装Python依赖

sudo pip3 install selenium

 

2. 谷歌设置参数

chrome_options = Options()

chrome_options.add_argument('--no-sandbox') # “–no-sandbox”参数是让Chrome在root权限下跑

chrome_options.add_argument('--disable-dev-shm-usage')

chrome_options.add_argument('--headless') # “–headless”参数是不用打开图形界面  

driver = webdriver.Chrome(chrome_options=chrome_options)

 

# 启动谷歌浏览器的选择参数

"""

chrome_options.add_argument('window-size=1920x3000') # 指定浏览器分辨率

chrome_options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug

chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面

chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度

chrome_options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

# chrome_options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手动指定使用的览器位置

 

3.示例

# !/usr/bin/python3

# -*- coding: utf-8 -*-

# 解决中文乱码问题

import io

import sys

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

 

# linux上使用无界面chrome浏览器运行selenium

# coding=utf-8

import time

import datetime

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

 

chrome_options = Options()

chrome_options.add_argument('--no-sandbox') # “–no-sandbox”参数是让Chrome在root权限下跑

chrome_options.add_argument('--disable-dev-shm-usage')

chrome_options.add_argument('--headless') # “–headless”参数是不用打开图形界面  

driver = webdriver.Chrome(chrome_options=chrome_options)

# driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='/usr/bin/chromedriver') # 指定驱动的执行路径

 

# 启动谷歌浏览器的选择参数

"""

chrome_options.add_argument('window-size=1920x3000') # 指定浏览器分辨率

chrome_options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug

chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面

chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度

chrome_options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

# chrome_options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手动指定使用的览器位置

 

通过selenium截图Chrome浏览器图片,发现汉字都为方框 --解决方法如下

ubuntu 安装字体--宋体 否则selenium截图中文都是方框

 

下载地址

https://www.aityp.com/centos7%E5%AE%89%E8%A3%85%E4%B8%AD%E6%96%87%E5%AE%8B%E4%BD%93-phantomjs/

 

下载宋体文件:点击下载

把文件放到 /usr/share/fonts/simsun.ttc

依次执行如下命令

mkfontdir

mkfontscale

fc-cache -fv

以下显示操作成功

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值