打破常规思维
自由 开放 平等 互助

Linux CentOS7 无GUI部署Selenium

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

一、部署:

1、安装Chrome:

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

2、安装ChromeDriver:

注意:由于google被墙的原因,大陆无法访问和下载该资源,可自行翻墙下载,地址:ChromeDriver Downloads

如果无法翻墙也可自行在本站下载,地址:ChromeDriver Linux x64 (更新于2018年9月20日)

下载完成后请自行上传到服务器

# 解压
unzip chromedriver_linux64.zip

# 增加执行权限
chmod +x chromedriver

# 为了不出错删除原有软连接(可能不存在,无影响)
mv -f chromedriver /usr/local/share/chromedriver

# 重新创建软连接
ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

3、安装Xvfb(利用Xvfb创建虚拟GUI):

yum install Xvfb libXfont xorg-x11-fonts*

4、安装selenium、pyvirtualdisplay (python库):

pip install selenium
pip install pyvirtualdisplay

二、测试:

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

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

chrome_options = Options()
# 关闭sandbox解决报错
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
# 指定浏览器分辨率
chrome_options.add_argument('window-size=1024,768')
# 谷歌文档提到需要关闭gpu来规避bug
chrome_options.add_argument('--disable-gpu')
# 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('--hide-scrollbars')
# 不加载图片, 提升速度
chrome_options.add_argument('blink-settings=imagesEnabled=false')
# 浏览器不提供可视化页面(linux下如果系统不支持可视化不加这条会启动失败)
chrome_options.add_argument('--headless')
display = Display(visible=0, size=(1024,768))
display.start()
driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver",chrome_options=chrome_options)
driver.get("http://www.baidu.com")
print(driver.page_source)

driver.quit()
display.stop()
赞(0) 打赏
未经允许不得转载:时光日记 » Linux CentOS7 无GUI部署Selenium

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏