selenium处理元素定位点击无效问题


Posted in Python onJune 12, 2019

在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前端代码会压缩加密。所以上线后我们看到的是压缩的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单实现基数排序算法
May 16 Python
Python实现LRU算法的2种方法
Jun 24 Python
Python 的描述符 descriptor详解
Feb 27 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
使用python制作一个解压缩软件
Nov 13 Python
使用NumPy读取MNIST数据的实现代码示例
Nov 20 Python
关于numpy数组轴的使用详解
Dec 05 Python
python实现替换word中的关键文字(使用通配符)
Feb 13 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 #Python
python3.4 将16进制转成字符串的实例
Jun 12 #Python
python binascii 进制转换实例
Jun 12 #Python
Python3 实现串口两进程同时读写
Jun 12 #Python
详解pyppeteer(python版puppeteer)基本使用
Jun 12 #Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 #Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 #Python
You might like
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
php利用事务处理转账问题
2015/04/22 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
nginx 设置多个站跨域
2021/03/09 Servers
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
Python抓取电影天堂电影信息的代码
2016/04/07 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
python学生管理系统代码实现
2020/04/05 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
详解Python字典小结
2018/10/20 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
python实现自动化上线脚本的示例
2019/07/01 Python
python求绝对值的三种方法小结
2019/12/04 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
财务经理岗位职责
2013/11/09 职场文书
房地产开发计划书
2014/01/10 职场文书
快餐公司创业计划书
2014/04/29 职场文书
感谢信模板大全
2015/01/23 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
六一晚会主持词开场白
2015/05/28 职场文书