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+mysql实现简单的web程序
Sep 11 Python
python求pi的方法
Oct 08 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
使用python Telnet远程登录执行程序的方法
Jan 26 Python
python3 pygame实现接小球游戏
May 14 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Python使用pdb调试代码的技巧
May 03 Python
OpenCV-Python实现图像平滑处理操作
Jun 08 Python
Python Pandas pandas.read_sql_query函数实例用法分析
Jun 21 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
php实现webservice实例
2014/11/06 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
JS 文件大小判断的实现代码
2010/04/07 Javascript
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
Node.js事件驱动
2015/06/18 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
通过代码实例了解Python异常本质
2020/09/16 Python
pymysql模块使用简介与示例
2020/11/17 Python
Java模拟试题
2014/11/10 面试题
小学教师事迹材料
2014/01/13 职场文书
微观物理专业自荐信
2014/01/26 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
考研英语复习计划
2015/01/19 职场文书
北京导游词
2015/02/12 职场文书
小学班主任教育随笔
2015/08/15 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书