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

Selenium访问Speedtest页面无法停止加载及元素定位问题

解决Selenium操作speedtest.net的两个问题

问题1:页面无限加载,后续代码无法执行

speedtest.net会加载大量第三方资源或持续监听网络状态,导致Selenium默认的"页面加载完成"判断一直不触发,卡死后续代码。可以通过两种方式解决:

方式1:修改页面加载策略

直接设置驱动不用等待页面完全加载就返回,适配Selenium 4.x+的写法如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
# none策略:驱动打开页面后立即返回,不等待资源加载完成
options.page_load_strategy = 'none'

driver = webdriver.Chrome(options=options)
driver.get("https://www.speedtest.net/")

# 配合显式等待,等目标元素出现再操作
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 最多等10秒,直到开始按钮可点击
start_btn = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "a.start-button"))
)
start_btn.click()

方式2:强制停止页面加载

在driver.get之后执行JS强制停止加载,避免无限等待:

driver.get("https://www.speedtest.net/")
# 执行JS强制停止页面加载
driver.execute_script("window.stop();")

问题2:desired_capabilities参数报错

Selenium 4.x版本已经彻底移除了desired_capabilities这个初始化参数,所有浏览器配置都要通过options对象传递。上面的代码已经用正确的ChromeOptions方式设置页面加载策略,替换旧写法即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 16:22:36