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

作者:桌面漫游

时间:2026-10-31

浏览:571

本文详细解析Selenium WebDriver无响应的常见原因,即Chrome浏览器自动升级导致Driver版本不匹配。通过官方下载页获取最新测试版Driver,替换旧版本并放入Python环境,即可彻底解决卡死或报错问题,确保自动化脚本稳定运行。

文章目录

前言

在使用Selenium进行自动化测试或开发时,遇到WebDriver无响应的情况,最常见的原因往往是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出现异常时,程序通常会一直卡住没有响应,或者直接抛出错误信息。

前言

常见的报错提示如下所示。

前言

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

官方页面的展示界面如下。

前言

我们可以通过查看Chrome浏览器的版本信息来确认当前使用的版本。

前言

例如,当前Chrome版本号为120.0.6099.130,而官方提供的Driver版本却是ChromeDriver 114.0.5735.90,两者版本不一致。

前言

在官方页面中,选择“current releases”栏目下标红的链接,进入测试版本选择界面。

前言

在列表中选择与当前Chrome版本最接近且可用的Driver版本。

前言

从该页面下载对应的ChromeDriver文件。

前言

将下载好的Driver文件放入Python环境的Scripts目录中。

前言

以下是替换后的测试结果。

前言

总结

到此这篇关于JS逆向之如何一招彻底解决selenium WebDriver无响应的文章就介绍到这了,更多相关selenium WebDriver无响应解决内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章