文章目录
Headless Browser
Headless Browser是没有图形用户界面(GUI)的web浏览器,通常是通过编程或命令行界面来控制的。
Headless Browser的重要用处之一是自动化可用性测试或浏览器交互测试。尤其适合在服务端自动化运行。
主流浏览器所使用的内核分类
Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上
Webkit内核:Safari,Chrome等
而Chrome从59版本开始 推出了 headless mode(当时仅支持Mac和Linux),而目前最新的Chrome63版已经开始在windows上支持headless mode。
windows
pass
CentOS
安装 chrome
添加rep源
vi /etc/yum.repos.d/google.repo
[google]
name=Google-x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=0
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
yum 安装
yum update
yum install google-chrome-stable
手动下载安装
# 下载
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
# 安装
yum install ./google-chrome-stable_current_x86_64.rpm
验证安装成功
# 查看浏览器版本
google-chrome --version
# html to PDF
google-chrome --headless --disable-gpu --no-sandbox --print-to-pdf http://www.baidu.com
# or
google-chrome --headless --disable-gpu --no-sandbox --print-to-pdf=test.pdf http://www.baidu.com
安装中文字体库
可能存在问题:CentOS下浏览器中文显示方框,无法正常显示中午字符
解决办法:执行如下三条命令
yum -y groupinstall "X Window System"
yum -y groupinstall chinese-support
yum -y groupinstall Fonts
chrome driver
ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览器
手动安装
-
从官网下载对应chrome版本的 chrome driver
chrome driver 下载 -
chmod +x chromedriver
下载后无需安装,可执行程序,赋予可执行权限即可
yum安装
yum install chromedriver
创建python3 虚拟环境
python3 -m venv venv
selenium
- 进入激活的 python3 虚拟环境
- pip安装
pip install selenium