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参数对象
opt = webdriver.ChromeOptions()


# 把chrome设置成无界面模式,不论windows还是linux都可以,自动适配对应参数
opt.set_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 



猜你喜欢

转载自blog.csdn.net/chasejava/article/details/79677246