Selenium等待判断元素页面加载完成

你可以使用Selenium的WebDriverWait和expected_conditions来等待直到元素变得可点击。

try:

element = WebDriverWait(driver, 10).until(

EC.element_to_be_clickable((By.ID, "你的元素ID"))

)

print("元素可点击")

except TimeoutException:

print("在10秒内未找到可点击的元素")

检查元素是否可点击

虽然Selenium没有直接提供一个名为is_clickable()的方法来判断一个元素是否可点击,但我们可以通过组合is_displayed()和is_enabled()方法来实现这一功能。如果一个元素是可见且启用的,通常它也是可点击的。

element = driver.find_element_by_id("你的元素ID")

if element.is_displayed() and element.is_enabled():

print("元素可点击")

else:

print("元素不可点击")

disabled

23:02 2025/12/10

python selenium 等待地址栏改变

url_to_be(url)是一个关键方法,它检查当前页面的URL是否等于预期值

WebDriverWait(driver, timeout).until(EC.url_to_be("https://www.example.com"))

url_contains(url)?:等待URL包含指定字符串

WebDriverWait(driver, 10).until(EC.url_contains("baidu"))

url_matches(pattern)?:等待URL匹配正则表达式模式

WebDriverWait(driver, 10).until(EC.url_matches(r"https://.*\.baidu\.com/.*"))

lambda匿名函数 :等待URL与之前不同(需记录初始URL)

initial_url = driver.current_url

WebDriverWait(driver, 10).until(lambda driver: driver.current_url != initial_url)

使用WebDriverWait等待直到URL改变

wait = WebDriverWait(driver, 10) # 等待最多10秒

wait.until(EC.url_changes(driver.current_url)) # 期望URL与当前URL不同

相关推荐
bkspiderx6 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
代码什么用6 小时前
Spring基础使用
java·后端·spring
程序员老陆6 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光6 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
Su米苏6 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园6 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁6 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网7 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西7 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨7 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言