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不同

相关推荐
天天被压力9 分钟前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
aramae25 分钟前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
张某布响丸辣1 小时前
附件下载的安全边界:路径白名单、NAS 哨兵文件与 Redis Lua 一次性令牌
java·redis·redis lua·nas哨兵
YatHinLay1 小时前
Spring Boot + Calcite 实现跨库查询
java
酷炫码神2 小时前
MosMos 创意效果与能力边界展示
java
Wang's Blog2 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis
事圆则缓2 小时前
Java 8 Lambda、Stream、Optional 与 Android 边界:从回调语法到运行时兼容
android·java
shehuiyuelaiyuehao2 小时前
算法50,分治归并,数组中的逆序对
java·算法
烽学长2 小时前
(附源码)基于Springboot+vue的图书阅读分享系统的设计与实现
java·spring boot·后端
Ivanqhz2 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习