无头浏览器,selenium自动化截图
以mac 为例 :
1. 安装chrome驱动
2. 找到chrome驱动安装位置,which chromedriver (下面脚本会用到该路径)
1 # -*- coding: utf-8 -*- 2 from selenium import webdriver 3 from selenium.webdriver.chrome.options import Options 4 import time 5 6 # 创建一个参数对象,用来控制chrome以无界面模式打开 7 chrome_options = Options() 8 chrome_options.add_argument('--headless') 9 chrome_options.add_argument('--disable-gpu') 10 # 驱动路径 11 path = "/usr/local/bin/chromedriver" 12 # 创建浏览器对象 13 browser = webdriver.Chrome(executable_path=path, chrome_options=chrome_options) # 参数添加 14 15 # 上网 16 url = 'http://www.baidu.com/' 17 browser.get(url) 18 time.sleep(3) 19 browser.maximize_window() 20 browser.save_screenshot('baidu.png') # 捕获(截屏)保存 21 22 browser.quit()
无头浏览器搭建方式
Windows上部署无界面
1.Seleinum
2.谷歌浏览器Chrome
3.谷歌浏览器引擎Chromedriver
注意事项:
1. Chrome的版本要与Chromedriver的版本一致,否则不稳
2. Chrome最好用官方的,安装官方的Chrome,用默认的安装方式
2.1 安装selenium
pip
install
selenium
2.2 安装chrome
官网地址:
https://cloud.google.com/chrome-enterprise/browser/download/
注:谷歌浏览器不许你下载指定的版本
2.3 安装Chromedirver
镜像地址:
https://npm.taobao.org/mirrors/chromedriver/
2.4 查看自己Chrome的版本
在浏览器中输入:chrome://version/
2.4.2 下载对应版本的Chromedriver
在Chromedriver的下载地址中:
没有版本号完全一致的,只能找个差不多的,我测试后发现这两个搭配没问题
2.4.3 把Chromedriver放置在Chrome文件夹中
默认安装路径:C:⧵Program Files (x86)⧵Google⧵Chrome⧵Application
2 Mac上部署无界面
参考上面Windows的部署方式下载Chrome Mac版本的浏览器与Mac版的Chromedriver
将Chromedriver放在 /usr/local/bin中即可
3 Centos7 部署无界面
3.1 下载并安装Chrome
wget
https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum
install
./google-chrome-stable_current_x86_64.rpm
3.2 安装Chromedriver
3.2.1 查看Chrome版本
google-chrome
--version
3.3.2 下载与Chrome版本对应的Chromedriver
网址: https://npm.taobao.org/mirrors/chromedriver/
将chromdriver放在/usr/bin中
3.2.3 配置执行权限
终端
sudo
chmod
+x
chromedriver
4. 通过selenium启动chrome
代码
from
selenium
import
webdriver
#
实例化driver
driver
=
webdriver.Chrome(
executable_path='C:\Program
Files
(x86)\Google\Chrome\Application\chromedriver.exe',
#
Windows需要加exe
cutable_path,而Mac和Linux不用
)
driver.get('http://www.baidu.com')