优秀的编程知识分享平台

网站首页 > 技术文章 正文

惊讶!Selenium 模块将不再支持 PhantomJS 浏览器

nanyue 2024-09-15 23:19:11 技术文章 6 ℃

Selenium 模块将不再支持 PhantomJS 浏览器

近期开发新的爬虫时在安装模块与脚本测试使用时,发现一个发问题(下方代码)

# 导入selenium模块
from selenium import webdriver

# 创建一个开启Chrome浏览器对象
driver = webdriver.PhantomJS(executable_path=r'D:\Python\phantomjs\bin\phantomjs.exe')
# 打开特定网页
driver.get('https://www.python.org')
# 打印网页源代码
print(driver.page_source)

一个不算错误的错误

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
  warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

看不懂直接上翻译

用户警告:PhantomJS的硒支持已被否决,请使用无头版本的Chrome或Firefox
警告:警告“PhantomJS的硒支持已被弃用,请使用无头”

PhantomJS已经不再被支持,建议使用无头版Chrome或Firefox?????

虽然还能用,但是这提示很不爽,后研究了一下无头版的Chrome下放代码。

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
# 把chrome设置成无界面模式,不论windows还是linux都可以,自动适配对应参数
chrome_options.set_headless()
driver = webdriver.Chrome(options=chrome_options)
# 访问python官网
driver.get('https://www.python.org/')
print(driver.page_source)

文末彩蛋-->在一次实际工作中遇到的一个bug

在某次执行任务中突然程序抛出WinError 10054错误

ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

错误还原方法

安装完selenium模块并下载好chromedriver做好环境变量的情况下运行测试一下代码(为的是使用模块驱动浏览器打开特定网页)

# 导入selenium模块
from selenium import webdriver
# 创建一个开启Chrome浏览器对象
driver = webdriver.Chrome()
# 打开特定网页
driver.get('https://www.python.org')

错误的原因是

错误原因是Chrome浏览器chromedriver的版本不符,而导致此问题的出现。(此为报[WinError 10054]错误其中之一因素),可以查看Chrome的版本并重新下载了chromedriver

查询chrome浏览器的版本方法

1、打开Chrome浏览器
2、在地址栏中输入 chrome://version  可以查看到更加详细的版本情况

Chromedriver的下载地址

# 根据Chrome浏览器版本下载对应的Chromedriver版本
http://chromedriver.storage.googleapis.com/index.html

#python##程序员##软件开发#




Tags:

最近发表
标签列表