selenium处理元素定位点击无效问题
程序员文章站
2023-12-06 16:04:04
在web自动化测试过程中,经常会遇到这样的问题:
元素定位到了,但是点击无效?有人可能会问了,怎么判断元素定位到了,这个问题很好判断
1.给元素加高亮显示...
在web自动化测试过程中,经常会遇到这样的问题:
元素定位到了,但是点击无效?有人可能会问了,怎么判断元素定位到了,这个问题很好判断
1.给元素加高亮显示
self.driver.execute_script( "arguments[0].setattribute('style', arguments[1]);", element, "border: 2px solid red;" #边框border:2px; red红色 )
arguments[0] 这个参数,可以理解为python中的字符串格式化。比如"{}{}".format('aaa','bbbb')
2.执行点击过程不报错。
不会报一些找不到元素之类的错误。
怎么判断元素定位到了,点击没成功(这里说一下,一般是做了点击操作,只是我们直观去判断没有点击成功)
那么,现在来说一下如何解决这个问题。
解决问题:
1.分析一下,默认selenium的点击操作是点元素0,0点坐标,那么我们可以在元素x,y坐标上加5,让点击操作往里一点。
导入包actionchains,
from selenium.webdriver.common.action_chains import actionchains
ele = self.find_element(*loc) actionchains(driver).move_to_element(ele).move_by_offset(5,5).click().perform()
通过如上代码,先定位元素,然后移动到元素,在元素基础上做偏移x,y 5,5然后点击。
需要注意的是最后的perform()。要加上这个。否则不生效。
2.通过js去点击元素。
可以通过dom去定位,或者jquery定位。然后点击操作。这里不具体说明了。可以找度娘。
3.可以分析代码,如果有直接调用函数的地方,可以通过js直接调用。
要说明的是,这个方法,一般不可行。因为js前端代码会压缩加密。所以上线后我们看到的是压缩的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: 如何利用威力酷剪给手机视频添加音乐?
推荐阅读
-
selenium处理元素定位点击无效问题
-
selenium处理元素定位点击无效问题
-
python+selenium 定位得到元素,却无法点击的解决方法
-
Selenium一些特殊情况的处理:失去焦点、点击不生效、长页面处理、先触发事件才能动态加载的元素、日期输入
-
selenium 元素可以定位到,但是无法点击问题
-
python+selenium 定位到元素,无法点击的解决方法
-
关于python selenium定位元素点击出现element not visible的解决办法
-
python+selenium 定位得到元素,却无法点击的解决方法
-
元素定位:selenium消息框处理 (alert、confirm、prompt)
-
Selenium一些特殊情况的处理:失去焦点、点击不生效、长页面处理、先触发事件才能动态加载的元素、日期输入