python中selenium使用chrome无头浏览器执行JavaScript(js)代码
收藏
随着越来越多的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
- windows:
- 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
- chrome headless 命令行模式参考网址:https://developers.google.com/web/updates/2017/04/headless-chrome
(4)
相似问题