无头浏览器,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')

posted @ 2020-04-01 15:17  东方不败--Never  阅读(2182)  评论(0编辑  收藏  举报