【JS逆向】如何一招彻底解决selenium WebDriver无响应

这篇具有很好参考价值的文章主要介绍了【JS逆向】如何一招彻底解决selenium WebDriver无响应。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

selenium 无响应,最常见的原因是,webDriver与浏览器版本不匹配导致的。

而chrome 目前新的版本都是会自动升级的,这就会导致一段时间不用selenium时,driver就无法使用了。

1、检测情况

from selenium import webdriver
driver = webdriver.Chrome()

#测试方法
def query_selenium():
    driver.get("https://www.baidu.com")
    print(driver.title)

if __name__ == '__main__':
    query_selenium()

如果Driver不正常的话,会一直卡着,不会有响应,或者报错

self.execute(command.new_session, caps)[

或者是报这样一个错误

self.execute(command.new_session, caps)[

The chromedriver version (114.0.5735.90) detected in PATH at E:\workspace\python\test\venv\Scripts\chromedriver.exe might not be compatible with the detected chrome version (120.0.6099.130); currently, chromedriver 120.0.6099.109 is recommended for chrome 120.*, so it is advised to delete the driver in PATH and retry
Traceback (most recent call last):
  File "E:\workspace\python\test\gemini\gemini_gpt.py", line 33, in <module>
    driver = webdriver.Chrome()
  File "E:\workspace\python\test\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__
    super().__init__(
  File "E:\workspace\python\test\venv\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 56, in __init__
    super().__init__(
  File "E:\workspace\python\test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 206, in __init__
    self.start_session(capabilities)
  File "E:\workspace\python\test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 290, in start_session
    response = self.execute(Command.NEW_SESSION, caps)["value"]
  File "E:\workspace\python\test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 345, in execute
    self.error_handler.check_response(response)
  File "E:\workspace\python\test\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 120.0.6099.130 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Stacktrace:
Backtrace:
	GetHandleVerifier [0x0108A813+48355]
	(No symbol) [0x0101C4B1]
	(No symbol) [0x00F25358]
	(No symbol) [0x00F461AC]
	(No symbol) [0x00F41EF3]
	(No symbol) [0x00F40579]
	(No symbol) [0x00F70C55]
	(No symbol) [0x00F7093C]
	(No symbol) [0x00F6A536]
	(No symbol) [0x00F482DC]
	(No symbol) [0x00F493DD]
	GetHandleVerifier [0x012EAABD+2539405]
	GetHandleVerifier [0x0132A78F+2800735]
	GetHandleVerifier [0x0132456C+2775612]
	GetHandleVerifier [0x011151E0+616112]
	(No symbol) [0x01025F8C]
	(No symbol) [0x01022328]
	(No symbol) [0x0102240B]
	(No symbol) [0x01014FF7]
	BaseThreadInitThunk [0x75B2FCC9+25]
	RtlGetAppContainerNamedObjectPath [0x76F37C6E+286]
	RtlGetAppContainerNamedObjectPath [0x76F37C3E+238]


Process finished with exit code 1

2、重新下载新的Driver

最好的解决方案是,进入chromeDriver官方下载

访问ChromeDriver官方页面:ChromeDriver - WebDriver for Chrome - Downloads

官方展示如下:

self.execute(command.new_session, caps)[

我们查看Chrome版本可以看出,

self.execute(command.new_session, caps)[

版本号为120.0.6099.130 ,而官方出的driver 却给出的版本是 ChromeDriver 114.0.5735.90

self.execute(command.new_session, caps)[

选择 current releases 中的这个标红的链接,进入到测试版本选择里面。

self.execute(command.new_session, caps)[

选择最接近我们的 chrome版本的,能用的版本

self.execute(command.new_session, caps)[

从此处进行chromeDriver 下载

self.execute(command.new_session, caps)[

放入到python环境中去,

self.execute(command.new_session, caps)[

以下是测试结果 :

self.execute(command.new_session, caps)[

有想一起学习python爬虫的朋友,私聊文章来源地址https://www.toymoban.com/news/detail-789975.html

到了这里,关于【JS逆向】如何一招彻底解决selenium WebDriver无响应的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于如何解决Windows10任务栏无响应问题及任务栏“咨询和兴趣”功能入口彻底关闭

    作为一名IT小白,在前阵子重装旧笔记本系统的时候,碰上一个非常奇怪的问题。新装的Windows10系统(这里吐槽一下Windows11,果里果气的,而且操作逻辑用着很不顺手)在刚进入系统时,会出现任务栏无响应,鼠标放上去一直转圈的情况。这我就很纳闷了啊,我以为是我为了

    2024年02月07日
    浏览(122)
  • 安装Selenium报错解决&webdriver下载

    一、安装Selenium报错解决 在安装Selenium模块的时候就报错 ERROR: Cannot uninstall \\\'certifi\\\'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. 就试了一下pip install certifi --ignore-installed  然后就成功了(pip install Selenium #这个

    2024年02月04日
    浏览(48)
  • 爬虫小白-如何调试列表页链接与详情链接不一样并三种方式js逆向解决AES-ECB

    一、网站分析 三年前的案例,我的原始文章 网站 ,如图我们直接点击标题进入到详情页,链接会发生跳转,且与我们在详情看到的链接,与在列表页看到的链接完全不一样,如果拿列表页的链接直接新建标签页打开的话,详情页也是403, 而只有触发点击的模式才能拿看到真

    2024年02月15日
    浏览(41)
  • Selenium Chrome Webdriver 如何获取 Youtube 悬停文本

    导语 Youtube 是一个非常流行的视频分享平台,有时候我们可能想要爬取一些视频的信息,比如标题、播放量、点赞数等。但是有些信息并不是直接显示在网页上的,而是需要我们将鼠标悬停在某个元素上才能看到,比如视频的时长、上传时间等。这些信息被称为悬停文本,它

    2024年02月07日
    浏览(39)
  • 解决selenium使用webdriver.Chrome()报错的问题

    谷歌驱动下载地址: https://sites.google.com/a/chromium.org/chromedriver/home   运行成功(打开浏览器显示chrome正在受自动化软件测试的控制就代表成功):  找到def __init__(self, executable_path=\\\"chromedriver\\\", port=0, 修改executable_path=\\\"chromedriver\\\" 为executable_path=\\\"chromedriver驱动的路径\\\"   修改成功后

    2024年02月11日
    浏览(56)
  • 解决Selenium WebDriver 加载页面时出现浏览器闪退

      如果不匹配的话,可以去以下网址下载https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/  如果还是不能解决selenium闪退,可以通过以下几行代码来解决此问题。

    2024年02月15日
    浏览(90)
  • [已解决]Ubuntu Server 使用 jenkins 运行 selenium webdriver 失败

    我在多台 ubuntu server 上使用 jenkins 账户运行 selenium webdriver 时都遇到了这个问题。 包括 ubuntu 16.04, ubuntu 18.04 和 ubuntu 20.04 的 server 系统,这是一个普遍存在的问题。 失败时的错误信息如下: 下面是我尝试使用一个简单脚本复现问题时的详细日志: 但是如果我使用另一个账户

    2024年02月02日
    浏览(43)
  • pyinstaller打包selenium后弹出webdriver命令行窗口的解决方法

    最近在使用tkinter来开发一个GUI程序,用到了selenium的headless模式。代码调试妥当,准备用pyinstaller打包成exe文件,却发现在pycharm里面一切正常,打包后会弹出一个黑框,影响体验: 有的同学还会有类似以下日志 搜索一番之后大概发现了网上说的2种方案 pyinstaller 使用 --wind

    2024年02月11日
    浏览(59)
  • selenium使用 webdriver.Chrome() 报错,找不到执行文件的解决方法(一)

    使用 driver = webdriver.Chrome() 时,遇到以下报错: selenium.common.exceptions.WebDriverException: Message: \\\'chromedriver\\\' executable needs to be in PATH. 两种解决方法: (1)在webdriver.Chrome()中添加executable_path参数,参数value = chromedriver.exe文件所在路径,示例: from selenium import webdriver chrome_driver_path

    2024年02月11日
    浏览(80)
  • 3.解决Pycharm报错Unresolved reference ‘selenium‘ Unresolved reference ‘webdriver‘

    目录 问题 解决方案 出现该问题可能是由于编辑器中没有找到Selenium的路径,把路径添加上去就可以解决问题 1.打开编辑器中的setting 2.点击+Add Content Root   3.找到安装selenium的路径  4.点击Apply之后再点击Sources 5.最后点击Apply然后点击OK返回主界面,报错解决

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包