PyDev console: starting. Python 3.12.3 (tags/v3.12.3:f6650f9, Apr 9 2024, 14:05:25) [MSC v.1938 64 bit (AMD64)] on win32 runfile('E:\\桌面类东西\\桌面\\zhihu_answers_crawler_edge_beta4.py', wdir='E:\\桌面类东西\\桌面') Traceback (most recent call last): File "D:\PyCharm 2024.1.1\plugins\python\helpers\pydev\pydevconsole.py", line 364, in runcode coro = func() ^^^^^^ File "<input>", line 1, in <module> File "D:\PyCharm 2024.1.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile pydev_imports.execfile(filename, global_vars, local_vars) # execute the script ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PyCharm 2024.1.1\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "E:\桌面类东西\桌面\zhihu_answers_crawler_edge_beta4.py", line 70, in <module> pagecode = browser.get(http) ^^^^^^^^^^^^^^^^^ File "D:\Pythoninstallment\pythonProject3\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 454, in get self.execute(Command.GET, {"url": url}) File "D:\Pythoninstallment\pythonProject3\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 429, in execute self.error_handler.check_response(response) File "D:\Pythoninstallment\pythonProject3\.venv\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 232, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: tab crashed (Session info: MicrosoftEdge=134.0.3124.72) Stacktrace: GetHandleVerifier [0x00007FF6C464A785+20677] simdutf::get_active_implementation [0x00007FF6C45A6F30+492592] (No symbol) [0x00007FF6C439BD30] (No symbol) [0x00007FF6C438CACD] (No symbol) [0x00007FF6C438ABD9] (No symbol) [0x00007FF6C438B33F] (No symbol) [0x00007FF6C4396EF1] (No symbol) [0x00007FF6C43AA4F2] (No symbol) [0x00007FF6C4425BFD] (No symbol) [0x00007FF6C44081C3] (No symbol) [0x00007FF6C43DCC36] (No symbol) [0x00007FF6C43DC0C4] (No symbol) [0x00007FF6C43DCA63] (No symbol) [0x00007FF6C44C58DD] (No symbol) [0x00007FF6C44D1D42] (No symbol) [0x00007FF6C44CA703] Microsoft::Applications::Events::EventProperty::to_string [0x00007FF6C472478A+262026] simdutf::get_active_implementation [0x00007FF6C45B4661+547681] simdutf::get_active_implementation [0x00007FF6C45AD914+519700] simdutf::get_active_implementation [0x00007FF6C45ADA59+520025] simdutf::get_active_implementation [0x00007FF6C459F606+461574] BaseThreadInitThunk [0x00007FFEF8787374+20] RtlUserThreadStart [0x00007FFEFA59CC91+33] 解释是什么错误,并回答如何修改
时间: 2025-05-13 09:31:52 浏览: 24
从你提供的错误信息来看,这是一个 `WebDriverException` 异常,提示浏览器标签页崩溃了 (`tab crashed`)。这是 Selenium 使用过程中常见的一个问题。
### 错误原因分析
1. **浏览器版本与驱动程序不匹配**
错误堆栈中提到使用的 Edge 浏览器版本为 134.0.3124.72,而可能安装的对应 WebDriver 版本并不兼容此版本的浏览器。
2. **网络或页面加载异常**
如果目标 URL 加载时间过长、资源不可用或其他问题可能会导致浏览器卡住并最终崩溃。
3. **内存不足或系统限制**
当系统的可用内存较低或者其他进程占用过多资源时也可能引发该问题。
4. **脚本本身的问题**
- 检查是否正确初始化了 `browser` 对象;
- 确保传递给 `.get()` 方法的是有效的 URL 字符串而不是变量名如 `http` 是否赋值对错;
### 解决方案步骤
#### 步骤一:更新 WebDriver 到最新版本
确保你的 Microsoft EdgeDriver 和当前正在运行的 Edge 浏览器版本一致。例如如果 Edge 浏览器是 v134,则需要下载对应的 Edgedriver v134 并替换旧版。
官方链接地址可以参考微软文档说明[这里](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)。
```bash
# 下载完成后将路径加入环境变量 PATH 或直接指定完整路径启动 driver 实例
from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
service = EdgeService(executable_path="path/to/msedgedriver.exe")
options = webdriver.ChromeOptions() # 可选配置项调整窗口大小等
driver = webdriver.Edge(service=service, options=options)
```
#### 步骤二:设置超时避免长时间等待
对于可能出现的目标网页加载失败情况可通过添加显式或隐式的等待解决:
```python
# 设置全局隐含等待时间为15秒内完成元素查找操作即可返回结果不然抛出 TimeoutError 异常
driver.implicitly_wait(15)
try:
page_code = driver.get("http://example.com") # 替换为目标网址字符串形式而非单独 http 参数
except Exception as e:
print(f"访问网站发生错误:{e}")
finally:
time.sleep(2) # 建议短暂休眠防止立即关闭影响调试观察
driver.quit()
```
#### 步骤三:排查其他潜在因素
- 减少同时打开大量标签页造成的压力测试单步执行效果更佳稳定;
- 考虑升级 Python 至更高版本以及相应依赖库比如Selenium到最新状态保持功能正常运作.
---
###
阅读全文
相关推荐






