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批量下载图片的三种方法
Apr 22 Python
解析Python编程中的包结构
Oct 25 Python
Python IDE PyCharm的基本快捷键和配置简介
Nov 04 Python
Django使用中间键实现csrf认证详解
Jul 22 Python
Python对列表的操作知识点详解
Aug 20 Python
Python基于Dlib的人脸识别系统的实现
Feb 26 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
python实现批量命名照片
Jun 18 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 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提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
Django的models中on_delete参数详解
2019/07/16 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python基于property()函数定义属性
2020/01/22 Python
python学生管理系统的实现
2020/04/05 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
2014新年寄语
2014/01/20 职场文书
教学质量评估实施方案
2014/03/17 职场文书
2014年中秋寄语
2014/08/11 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
市场部经理岗位职责
2015/02/02 职场文书
预备党员入党感想
2015/08/10 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书