AI 正在绞尽脑汁想思路 ING···
AI 摘要
DeepSeek V4 Pro

在WSL2的Ubuntu 20.04 LTS安装成功

§ 1. 安装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

第一次运行sudo dpkg -i google-chrome*.deb命令可能会依赖报错,尝试用sudo apt-get install -f修复,再次运行sudo dpkg -i google-chrome*.deb

尝试google-chrome-stable --version

google-chrome-stable --version
Google Chrome 81.0.4044.138

有具体版本就成功了。

配置一下Chrome:

nano /opt/google/chrome/google-chrome

在最后的exec -a "$0" "$HERE/chrome" "$@"后面加上--user-data-dir --no-sandbox

exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

运行chrome报错试试重启大法。

§ 2. 配置webdriver

可以去谷歌的官网http://chromedriver.storage.googleapis.com/index.html下,国内就用淘宝的镜像https://npm.taobao.org/mirrors/chromedriver下。

Chromedriver的版本要对应Chrome的版本,这里就下载81.0.4044.138

wget https://npm.taobao.org/mirrors/chromedriver/81.0.4044.138/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

查看Chromedriver版本:

chromedriver --version
ChromeDriver 81.0.4044.138

§ 3. 安装selenium

首先确保环境有Python,运行:

python3 -V
Python 3.6.9
pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
sudo pip3 install selenium

§ 4. 测试

# coding:utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://github.com/')
driver.save_screenshot(driver.title+'.png')

使用Chrome的无头模式(headless)

#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.chrome.options import Options
options = Options()
options.add_argument('--headless') # 无头模式,可不启用界面显示运行
options.add_argument('--disable-gpu') # 禁用 GPU 加速
options.add_argument('user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edg/81.0.416.72"')
driver = webdriver.Chrome(options=options)
driver.get('https://github.com/')
driver.save_screenshot(driver.title+'.png')

§ *5.字符界面运行

如果想要在字符界面使用Chrome进行测试,需要使用工具Xvfb。X Virtual Framebuffer(Xvfb)虚拟帧缓冲器,简单来说它可以直接处理 Window的图形化功能,并且不会输出到屏幕上,这就摆脱了对可视窗口的依赖

sudo apt-get -y install xvfb gtk2-engines-pixbuf
sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
sudo apt-get -y install imagemagick x11-apps # 截图功能,可选
Xvfb -ac :99 -screen 0 1280x1024x16 & export DISPLAY=:99
#coding:utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://github.com/")
print(driver.title)  # 输出网页标题

§ 参考链接 [1][2]


  1. Linux配置Selenium+Chrome+Python实现自动化测试 ↩︎

  2. 解决Linux下出现Google Chrome does not run as root问题 ↩︎

阅读次数

请我喝[茶]~( ̄▽ ̄)~*

星旅人 微信支付

微信支付

星旅人 支付宝

支付宝


在提问之前,你应该学会如何提问