python自动化:悬浮窗内的按钮定位不到怎么办?别慌,一个方法轻松解决

使用selenium做网页自动化,经常会遇到各种各样定位不到数据问题。今天根据亲身经历介绍2个定位不到元素问题的解决方法

1. 悬浮窗内按钮

 

鼠标移动到悬浮窗部分才能够显示操作按钮,这种控件直接找必然是找不到的

解决方法:

1. 增加一步鼠标操作:将鼠标移动到所需要定位元素的位置,悬停之后,再找元素

关键词:ActionChains,鼠标操作对应的方法集合,详细内容可以在selenium介绍文档中找~

推荐博文:https://blog.csdn.net/weixin_36279318/article/details/79475388    【转载】

from selenium.webdriver import ActionChains
test = driver.find_element_by_id('GGGG') # 控件所在元素位置
ActionChains(driver).move_to_element(test).perform() # 将鼠标移动待元素上

并且在测试的过程中,鼠标放一边别乱动了~~乱动了就可能定位不到了~

 

2. 动态弹窗

这种并不是iframe格式,打开开发工具可以看到,他的代码在整个h5中的最下方,好理解就叫他动态弹窗。动态的内容,使用Xpath的方式获取就不太明智了,需要修改使用class、ID等固定内容获取,精确性更好。

但是class和ID就可能存在相似的情况。所以需要查看到底有多个“同名”元素,然后看使用的是哪一个。

Choose_Operates = driver.find_elements_by_class_name('el-popper') # 定位所有同名元素
Operates = Choose_Operates[-1].find_elements_by_tag_name('li') # 使用需要的元素进行后续操作
Operates[2].click()

总结:

定位元素慢慢来,找不到也不奇怪。iframe和弹窗,定位之前先跳转。

动态元素用id/class,不变元素用Xpath。鼠标操作灵活用,实在找不到就用try。

 

都看到和了,不点赞评论,不觉得对不起自己么?                                

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值