一、安装Chrome浏览器
1、安装依赖
sudo apt-get install libxss1 libappindicator1 libindicator7
2、下载Chrome安装包
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
3、安装
sudo apt-get -f install
sudo dpkg -i google-chrome*.deb
4、查看chrome浏览器版本(安装chromedriver时要对应)
google-chrome --version
二、安装ChromeDriver
1、安装xvfb以便我们可以无头奔跑地运行Chrome
sudo apt-get install xvfb
2、安装unzip
sudo apt-get install unzip
3、在浏览器中下载chromedriver安装包
chrome版本与chromedriver版本对照表:
https://blog.youkuaiyun.com/yoyocat915/article/details/80580066
chromedriver下载路径:
http://npm.taobao.org/mirrors/chromedriver/
4、解压缩
unzip chromedriver_linux64.zip --> chromedriver
再把chromedriver 复制到 /usr/bin/下 相当于放到环境变量 ,不用再重新设置软连接了
赋予权限 chmod +x chromedriver
5、建立软连接--(相当于windows下添加到环境变量,以便系统能找到chromedriver的安装路径)
备注:如果已经 把chromedriver 复制到 /usr/bin/下 就不用这一步操作,建立软连接了
sudo ln -s /home/ronyi/chromedriver /usr/local/bin/chromedriver
sudo ln -s /home/rongyi/chromedriver /usr/bin/chromedriver
ps:将 /home/rongyi/chromedriver 改为对应的解压路径
三、模拟运行Chrome浏览器
1、安装Python依赖
sudo pip3 install selenium
2. 谷歌设置参数
chrome_options = Options()
chrome_options.add_argument('--no-sandbox') # “–no-sandbox”参数是让Chrome在root权限下跑
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless') # “–headless”参数是不用打开图形界面
driver = webdriver.Chrome(chrome_options=chrome_options)
# 启动谷歌浏览器的选择参数
"""
chrome_options.add_argument('window-size=1920x3000') # 指定浏览器分辨率
chrome_options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
chrome_options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
# chrome_options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手动指定使用的览器位置
3.示例
# !/usr/bin/python3
# -*- coding: utf-8 -*-
# 解决中文乱码问题
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
# linux上使用无界面chrome浏览器运行selenium
# coding=utf-8
import time
import datetime
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
chrome_options = Options()
chrome_options.add_argument('--no-sandbox') # “–no-sandbox”参数是让Chrome在root权限下跑
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless') # “–headless”参数是不用打开图形界面
driver = webdriver.Chrome(chrome_options=chrome_options)
# driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='/usr/bin/chromedriver') # 指定驱动的执行路径
# 启动谷歌浏览器的选择参数
"""
chrome_options.add_argument('window-size=1920x3000') # 指定浏览器分辨率
chrome_options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
chrome_options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
# chrome_options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手动指定使用的览器位置
通过selenium截图Chrome浏览器图片,发现汉字都为方框 --解决方法如下
ubuntu 安装字体--宋体 否则selenium截图中文都是方框
下载地址
https://www.aityp.com/centos7%E5%AE%89%E8%A3%85%E4%B8%AD%E6%96%87%E5%AE%8B%E4%BD%93-phantomjs/
下载宋体文件:点击下载
把文件放到 /usr/share/fonts/simsun.ttc
依次执行如下命令
mkfontdir
mkfontscale
fc-cache -fv
以下显示操作成功