python-selenium 定位不到元素原因

本文探讨了使用Python Selenium进行自动化测试时,元素定位遇到的问题及解决策略,包括检查元素表达式、考虑元素加载等待、处理iframe内的元素以及应对多窗口和弹出框的切换。
摘要由CSDN通过智能技术生成

一、检查元素表达式是否正确

1. 动态id定位不到元素

driver.find_element_by_id("user_0_32391").click()

如上面id后面是一串随机数,再次打开网页时会改变,此时无法通过id准确定位元素

2. 表达式错误

这是因为使用css和xpath定位,需要遵守对应的语法规则,没有按照规则来写
推荐使用的元素定位方式先后顺序:id、name、css规则xpaht规则

css和xpath语法,已整理好,双手奉上

css定位元素选择器可以参考:
https://mp.weixin.qq.com/s/nNJO2H8cdunPZmFyJaRfEQ
xpath定位规则可以参考:
https://mp.weixin.qq.com/s/Ne25I-RqX9wRAmMh-vrhTg

二、考虑元素是否需要等待

第一次访问/点击过快,导致页面元素还没有加载出来,造成找不到元素的情况出现。

解决办法: 使用元素等待,解决这类问题。元素等待有:强制等待、显示等待 和 隐式等待三种方式。

元素等待三种方式优缺点、使用场景,已经整理好,双手奉上
https://mp.weixin.qq.com/s/4c-DfvlEhBqXZphic5tvHw

1. 强制等待 (time.sleep(5)):

2. 显示等待 (WebDriverWait)

3. 隐式等待 (driver.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值