Selenium support for PhantomJS has been deprecated解决方案

Selenium+PhantomJS使用时报错原因及解决方案

错误信息:

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead

翻译过来是:

用户警告:对Phantomjs的Selenium支持已被弃用,请改用Chrome或Firefox的无头版本。

解决方案:

一:依着官方说明进行跟进,使用Chrome无头版本

website:https://sites.google.com/a/chromium.org/chromedriver/home

注:记得查看系统安装的Chrome浏览器版本

如何启用无界面Chrome:

有两种,这是第一种:

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/')

#打印内容
print(driver.page_source)

第二种:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()

chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错

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" #手动指定使用的浏览器位置


driver=webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://www.baidu.com')

print('hao123' in driver.page_source)


driver.close() #切记关闭浏览器,回收资源

注:Firefox的用法跟Chrome一样

二:selenium版本降级

查看当前selenium版本:pip3 show selenium

卸载selenium:pip3 uninstall selenium

安装指定版本:pip3 install selenium==2.48.0

附上phantomjs下载地址(官网的可不好下载):http://npm.taobao.org/dist/phantomjs

  • 28
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值