python自动化:悬浮窗内的按钮定位不到怎么办?别慌,一个方法轻松解决 您所在的位置:网站首页 悬浮窗怎么找不到应用 python自动化:悬浮窗内的按钮定位不到怎么办?别慌,一个方法轻松解决

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

2024-06-29 06:00| 来源: 网络整理| 查看: 265

使用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。

 

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有