在linux服务器上安装chrome :

ubuntu:

 下载页面https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linux

   wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb                        下载

   sudo apt-get install libxss1 libappindicator1 libindicator7                                                                   安装依赖

   sudo dpkg -i google-chrome*.deb                                                                                                          这条语句可能报错,下条命令将修复它

   sudo apt-get install -f

google-chrome                                                                                                                                       查看版本号

centos:

  wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm                             下载

    yum localinstall  google-chrome-stable_current_x86_64.rpm                                                                      在当前目录下使用本地安装,yum会自动分析依赖,完成安装

headless chrome的基本操作:https://developers.google.com/web/updates/2017/04/headless-chrome

  启用无头chrome访问网页并打印页面 --dump-dom用于打印页面的document.body.innerHTML到标准输出:

  chrome --headless --disable-gpu --dump-dom https://www.baidu.com/

  截取网页截图, --screenshot 将会截取网页截图并保存为当前目录的screenshot.png文件:

    chrome --headless --disable-gpu --screenshot --window-size=1280,1696 https://www.baidu.com

  使用代理 --proxy-server=http://ip:port 访问页面,并保存截图

    chrome --headless --disable-gpu --screenshot --proxy-server=socks5://127.0.0.1:1080 https://www.google.com

python通过selenium使用chrome headless :

下载chromedriver, 页面地址 http://npm.taobao.org/mirrors/chromedriver/71.0.3578.80/

    由于安装的chrome是 71.0.3578.98版本的,选了个最接近的chromedriver。

    wget http://npm.taobao.org/mirrors/chromedriver/71.0.3578.80/chromedriver_linux64.zip

    在window上解压后将chromedriver文件上传到/usr/bin/目录下

  pip install selenium

  

代码示例:

from selenium import webdriver

PROXY='http://ip:port'                                                                #或 PROXY=’socks5://ip:port'

my_options=webdriver.ChromeOptions()
my_options.add_argument('--headless')                                        #添加无头参数
my_options.add_argument('--disable-gpu')            #添加无头参数
my_options.add_argument('--no-sandbox')                                    #添加无头参数
#my_options.add_argument('lang=zh_CN.UTF-8')
my_options.add_argument('--allow-running-insecure-content')     #设置proxy时添加的额外参数,允许不安全的证书
my_options.add_argument('--ignore-certificate-errors')     #设置proxy时添加的额外参数,允许不安全的证书
my_options.add_argument("user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'")                                                                            #设置用户代理
caps = DesiredCapabilities.CHROME.copy()
caps['proxy']={'httpProxy':PROXY,                                                #添加代理IP  proxy
'ftpProxy':PROXY,
'sslProxy':PROXY,
'noProxy':None,
'proxyType':'MANUAL',
'class':'org.openqa.selenium.Proxy',
'autodetect':False}
caps['acceptSslCerts'] = True                                                      #设置允许不安全的证书
caps['acceptInsecureCerts'] = True

bs=webdriver.Chrome(chrome_options=my_options,executable_path='/usr/bin/webdriver',desired_capabilities=caps)

bs.get('https://www.baidu.com')

chrome_options : ChromeOptions()对象

executable_path : chromedriver的绝对路径

desired_capabilities :一般为对应浏览器的DesiredCapabilities的copy(),避免更改默认设置

本地shadowsocks安装     pip install shadowsocks

配置shadowsocks连接参数 ,创建文件shadowsocks.json

{
"server":"153.234.1.5",
"server_port":1108,
"local_address": "0.0.0.0",
"local_port":1018
"password":"sdsewedxxf#",
"timeout":300,
"method":"chacha20",
"fast_open": false
}

启动shadowsocks客户端 sslocal -c shadowsocks.json -d start

-d 表示后台启动, -c表示使用文件shadowsocks.json中的配置

chrome 无头浏览器的使用的更多相关文章

  1. webdriver(chrome无头浏览器)

    '''chrome无头浏览器''' from selenium.webdriver.chrome.options import Options # 导入相应的类 from selenium impor ...

  2. selenium 无头浏览器headless browser

    无头浏览器,即没有界面的浏览器,浏览器该有的功能特性都有. if browser.lower() == "chrome": # 无头浏览器 chrome_opt = webdriv ...

  3. Selenium 启动无头浏览器,只有chrome 和 firefox的,没有IE

    使用无头浏览器,可以避免掉不确定的弹出框对脚本稳定性的影响,还能在脚本执行过程中省略掉了css 加载的时间. 以下是Selenium 启动无头浏览器的方法,只有chrome 和 firefox的. p ...

  4. selenium+谷歌无头浏览器爬取网易新闻国内板块

    网页分析 首先来看下要爬取的网站的页面 查看网页源代码:你会发现它是由js动态加载显示的 所以采用selenium+谷歌无头浏览器来爬取它 1 加载网站,并拖动到底,发现其还有个加载更多 2 模拟点击 ...

  5. 无头浏览器phantomJS

    selenium: 有头浏览器的代表(selenium+python也可实现静默运行 引入python的一个包,包叫:虚拟屏幕pyvirtualdisplay) PhantomJS : 无头浏览器的代 ...

  6. 基于Python, Selenium, Phantomjs无头浏览器访问页面

    引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...

  7. Python对Selenium调用浏览器进行封装包括启用无头浏览器,及对应的浏览器配置文件

    """ 获取浏览器 打开本地浏览器 打开远程浏览器 关闭浏览器 打开网址 最大化 最小化 标题 url 刷新 Python对Selenium封装浏览器调用 ------b ...

  8. 爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器

    一.图片懒加载 懒加载 :    JS 代码  是页面自然滚动    window.scrollTo(0,document.body.scrollHeight)   (重点) bro.execute_ ...

  9. 浏览器控制之 selenium,phantomJs谷无头浏览器

    目录 浏览器控制之 selenium,phantomJs谷无头浏览器 selenium phantomJs 需求是尽可能多的爬取豆瓣网中的电影信息 谷歌无头浏览器 浏览器控制之 selenium,ph ...

随机推荐

  1. 国际空间站直播 ISS直播

    b站:https://live.bilibili.com/9196015 斗鱼:https://www.douyu.com/543816 欢迎大家 (ฅ´ω`ฅ)

  2. Scrum Meeting 合集

    一.Alpha [Alpha]Scrum meeting 1 [Alpha]Scrum meeting 2 [Alpha]Scrum meeting 3 [Alpha]Scrum meeting 4 ...

  3. 函数def

    函数:把执行一定功能的动作封装到一起>>> def 函数名(形参)      通过一个    函数名(实参)         去调用它,传参来执行功能.动作,输出结果 .定义:def ...

  4. jenkins 配置

    配置: echo " aliyun.oss.access.key=LTAIz4Koeff8sCr8 " > ./src/main/resources/oss.dev.prop ...

  5. Ubuntu 远程 Jupyter 配置

    Ubuntu 远程 Jupyter 配置 每次上课都要重新部署环境,最近看到阿里云的大学生优惠活动,就着手了一台云服务器,于是就把环境部署在上面了. 环境:阿里云 Ubuntu 16.04 64位 新 ...

  6. Qt对象树

    Qt提供了一种机制,能够自动.有效的组织和管理继承自QObject的Qt对象,这种机制就是对象树.子对象动态分配空间不需要释放.

  7. ActiveReports报表控件 V13 正式发布,提供在线报表设计和自适应报表布局

    重磅消息, ActiveReports V13 正式发布!本次更新 ActiveReports 将给您带来全新的报表设计体验:提供在线报表设计器.提供响应式布局和屏幕尺寸自适应能力.提供全新的图表…… ...

  8. pycharm使用selenium之前

    2.python安装好后,查看你的pycharm输出控制台,第一行就写了你所使用的python.exe的路径,如下图箭头处所示: 检查python使用的是不是你刚刚安装的,如果不是,换成你刚刚安装的p ...

  9. (js) 字符串和数组的常用方法

    JS中字符串和数组的常用方法 JS中字符串和数组的常用方法 js中字符串常用方法 查找字符串 根据索引值查找字符串的值 根据字符值查找索引值 截取字符串的方法 字符串替换 字符串的遍历查找 字符串转化 ...

  10. 比NPOI更好用的Excel操作库——EPPlus

    提到通过纯.Net读写Excel,一般首先想到的自然是大名鼎鼎的NPOI,就连微软官方的MSDN都有专门的一篇文章来介绍它的用法.今天在一个项目中使用到了导出报表为Excel的功能,便特地的试用了一下 ...