You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中使用Selenium如何忽略错误且不关闭浏览器

解决Selenium自动化中忽略网站错误且不关闭浏览器的方法
  • 用异常捕获跳过错误步骤
    把可能触发错误的操作放进try-except块里,捕获Selenium常见的异常(比如找不到元素、超时这些),捕获后不调用driver.quit(),直接继续走后续逻辑。示例代码:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException, TimeoutException

driver = webdriver.Chrome()
try:
    driver.get("可能出问题的网址")
    # 执行容易出错的操作,比如找某个元素
    driver.find_element("id", "non-existent-element")
except (NoSuchElementException, TimeoutException) as e:
    print(f"碰到错误: {e}")
    # 啥都不用额外做,直接跳过当前错误步骤
finally:
    # 这里别写关闭浏览器的代码,留空就行

# 接着执行其他自动化任务
driver.get("下一个要访问的网址")
  • 调整页面加载策略避免超时错误
    如果是页面加载慢导致的超时错误,可以设置页面加载超时时间,或者把加载策略改成eager(只加载DOM结构,不等资源加载完),捕获超时后停止加载继续走流程。示例:
from selenium.webdriver.chrome.options import Options

options = Options()
# 设置加载策略为eager,加快加载速度
options.page_load_strategy = "eager"

driver = webdriver.Chrome(options=options)
driver.set_page_load_timeout(10)  # 给页面加载设10秒超时

try:
    driver.get("加载慢的网址")
except TimeoutException:
    print("页面加载超时,直接跳过")
    # 用JS停止页面加载,避免一直卡着
    driver.execute_script("window.stop();")
  • 忽略JavaScript报错
    要是网站本身有JS报错弹窗或者日志干扰,可以通过Chrome配置禁用相关提示,不让这些错误打断自动化流程。示例:
options = Options()
# 关掉JavaScript错误提示
options.add_argument("--disable-javascript-harmony-shipping")
# 或者屏蔽日志里的JS错误信息
options.add_experimental_option("excludeSwitches", ["enable-logging"])

driver = webdriver.Chrome(options=options)
  • 自动处理弹窗类错误
    如果操作触发了alert、confirm这类弹窗导致流程卡壳,捕获弹窗异常后处理掉弹窗,继续执行后续操作。示例:
from selenium.common.exceptions import UnhandledAlertException

try:
    # 触发弹窗的操作
    driver.find_element("id", "trigger-alert-btn").click()
except UnhandledAlertException:
    # 接受弹窗
    alert = driver.switch_to.alert
    alert.accept()
    print("处理完弹窗,继续走流程")

内容的提问来源于stack exchange,提问作者Kayc Castro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:55:21