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与Redis的连接教程
Apr 22 Python
Python实现读取并保存文件的类
May 11 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
python opencv之SURF算法示例
Feb 24 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
Python实现图片转字符画的代码实例
Feb 22 Python
python实现计数排序与桶排序实例代码
Mar 28 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Django的CVB实例详解
Feb 10 Python
Python pandas对excel的操作实现示例
Jul 21 Python
python开根号实例讲解
Aug 30 Python
python 批量将中文名转换为拼音
Feb 07 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
php4的彩蛋
2006/10/09 PHP
PHP下常用正则表达式整理
2010/10/26 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
python的中异常处理机制
2018/08/30 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
语文教学感言
2014/02/06 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
生活小常识广播稿
2014/09/16 职场文书
2015年中个人总结范文
2015/03/10 职场文书
董事长致辞
2015/07/29 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL