如何解决Python使用Selenium时出现Failed to write request to stream错误
问题排查与解决方案
- 修正XPATH语法错误
你当前使用的XPATH存在两处语法闭合问题:contains函数缺少右括号、节点筛选条件缺少右中括号,修正后的代码如下:
button_LogIn = WebDriverWait(p_driver, 10).until(EC.presence_of_element_located( (By.XPATH, "//a[contains(@href,'https://www.reddit.com/login')]")))
- 检查版本兼容性
你当前使用的selenium==3.141.0对2022年之后发布的主流浏览器(Chrome、Firefox、Edge等)兼容性较差,按如下规则核对:
- 浏览器大版本号和对应WebDriver大版本号必须完全一致
- 若使用Chrome 115及以上版本,selenium3无法适配新版驱动,可选择降级浏览器到114及以下版本,或者升级selenium到4.8+版本
- 检查WebDriver会话状态
如果执行元素查找前调用过driver.quit(),或者浏览器窗口被手动关闭、后台崩溃,会导致驱动会话失效,抛出写入请求失败的错误。可在执行查找前确认会话存活,或者重新初始化WebDriver实例后再操作。
内容的提问来源于stack exchange,提问作者Manon M
相关产品推荐
相关产品推荐

