python中selenium使用chrome无头浏览器执行JavaScript(js)

python中selenium使用chrome无头浏览器执行JavaScript(js)

PhantomJSchromechrome headlesspython JavaScript jsSelenium自动化测试3

 

随着越来越多的web数据都是经过js处理的,对于爬虫来说就有这很大的难度,一般情我们使用selenium+phantomjs来去解析执行js,但是自2017  4月份后selenium不再维护phantojs接口,所以我么需要找一个替换的方式,好在chrome以及Firefox也提供了无界面操作方式
回答
MrSun回答
解答:
准备工作:
windows:
    chrome浏览器更新到59版本以上
    下载并安装chromedriver 下载地址:https://sites.google.com/a/chromium.org/chromedriver/ 下载对应版本的webdriver,下载后的webdriver驱动放置到我们的python安装目录或者放置到其他设置了环境变量的目录中
     更新安装selenium到最新版本:  pip install -U selenium
     安装完成后需要重启电脑,否则可能出现问题
ubuntu
    由于ubuntu默认安装的chrome版本最高到50 你需要手动更新chrome到最新版本,下载安装包并安装 下载地址https://www.google.com/chrome/thankyou.html?platform=linux&statcb=1&installdataindex=defaultbrowser
    下载并安装chromedriver 下载地址:https://sites.google.com/a/chromium.org/chromedriver/ 下载对应版本的webdriver  webdriver 放到/usr/local/bin 中或者其他设置了环境变量的目录
   更新安装selenium到最新版本 :    pip install -U selenium
       python selenium 驱动chrome无界面浏览器(chrome headless),其使用方式与Phantomjs 基本差不多,代码如下:
from selenium import webdriver


# 创建chrome参数对象

from selenium.webdriver.chrome.options import Options

# 创建chrome参数对象

opt = Options()

# 把chrome设置成无界面模式,不论windows还是linux都可以,自动适配对应参数

opt.add_argument('--headless')

# 创建chrome无界面对象

driver = webdriver.Chrome(options=opt)

# 访问百度
driver.get('https://baidu.com/')


#打印内容

driver.page_source

 

  1. chrome headless 命令行模式参考网址:https://developers.google.com/web/updates/2017/04/headless-chrome 

 

 

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值