Web 自动化——获取不到元素

本文深入探讨了Web自动化测试中常见的元素获取问题,包括元素隐藏、位于iframe内及页面加载不完全等情况,并提供了详细的解决方案,如使用JS脚本处理隐藏元素、切换iframe以及设置页面等待时间等。

Web 自动化——获取不到元素常见原因:
(1)元素属性为隐藏
处理办法:可通过调用JS脚本,处理隐藏元素,更改元素属性。eg:

# 如果界面有隐藏元素:可以调用js脚本,处理隐藏元素
js = "document.getElementById(\"normalLoginTab\").style.display='block';"
driver.execute_script(js)

(2)元素在iframe标签
处理办法:将driver切换到iframe标签。eg:

frame1 = driver.switch_to.frame(driver.find_element_by_xpath("//div[@id='loginDiv']/iframe"))
# 测试一下该元素能否获取
a = driver.find_element_by_id('account-box')
print(a)

(3)页面元素还未加载完全
处理办法:设置页面等待时间。eg:

from time import sleep

sleep(3

-------------后续遇到其他原因再补充--------

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值