selenium元素单击不稳定解决方法

selenium自动化测试过程中,经常会发现某一元素单击,很不稳定,有时候执行了点击没有反映。

以下总结两种解决方法:都是通过js注入的方式去点击。

1.F12查一看,要点击的按钮,或连接,有没有onclick=func();这样调用方法。

如果有的话,可以直接用js调用方法名

driver.execute_script("func();”)

2.找到元素,之后用js注入单击。

有人可能会问,都找到元素了,直接element.click()不就好了。

这样是可以,但是本文的内容是,有一些不稳定。element.click(),有时定位到元素了,点击没生效。

        element = driver.find_element(*loc)
        driver.execute_script("arguments[0].click();",element)

期待你的加入;共同学习,一起进步:

python|测试|技术交流 qq群:563227894

python|测试|技术交流 qq群:563227894

python|测试|技术交流 qq群:563227894

原文地址:https://www.cnblogs.com/yhleng/p/9299317.html

时间: 2024-08-09 09:11:01

selenium元素单击不稳定解决方法的相关文章

BA-siemens-apogee总线不稳定解决方法

状况一:BLN下的火车头在线,但是下面的模块(包括UEC或者PPM)全部掉线 尝试方法: 使用挨个DDC箱断线的方法测试总线是否上线(可以解决由于总线短路引起的总线故障,施工中总线压冷压端子的话就不容易出现此类问题) 检查网络是否通讯正常,若BA子网与其他网络存在IP地址冲突,那么BLN会直接掉线 检查光纤收发器是否正常,国产的有可能质量有问题 状况二:大部分PPM模块没有上线,BLN下的PXC或UEC全部上线, 尝试方法: 将BLN火车头的NODE地址更改为127,存在PPM模块的总想不要修改

IE11不支持Selenium 2.0的解决方法

题前话(Pre-words) 希望使用Selenium 2.0的人看到这篇文章能够收藏此文,以后遇到该问题,再也不用花费多余的时间进行research了!本文就是对网上所有千奇百怪各种各样的search结果所做的最好总结. 问题概述(Question) IE11不支持Selenium 2.0,在什么情况下不支持呢?比如:获取通过WebDriver获取页面上的元素时,你经常会捕获到这样的异常: OpenQA.Selenium.NoSuchWindowException: Unable to fin

selenium 元素定位常用的方法

元素定位的方法有2个 driver.findElement(By.args) 返回值是WebElement            //此方法是获取单一的页面元素 driver.findElements(By.args) 返回值是list<WebElement>  //此方法是获取多个页面元素:例如:获取一组复选框,然后都打上√号 两种方法获取页面元素方法基本一样 <input id="kw" name="wd" class="s_ipt&

Mac使用pip命令安装selenium包报错解决方法

1.使用命令:  pip install selenium 2.换成命令: python -m pip install selenium 即可成功安装 原文地址:https://www.cnblogs.com/jasmine0112/p/11756182.html

IE6常见的bug及解决方法

1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定marin时造成margin双倍(双边距) 解决方法:display:inline 3.以下三种其实是同一种bug,其实也不算是个bug,举个例子:父标签高度20,子标签11,垂直居中,20-11=9,9要分给文字的上面与下面,怎么分?IE6就会与其它的不同,所以,尽量避免. 1)字体大小为奇数之边框高度少1px

双击和单击事件冲突解决方法

双击和单击事件冲突解决方法:关于单击事件和双击事件,如果单独拿出来都是非常简单,这里也就不多介绍了,具体可以参阅jQuery的click事件和jQuery的dblclick事件一章节,但是如果同一个元素同时绑定了单击事件和双击事件,那么就会造成冲突现象,比如我们双击此元素指向触发双击事件,但是也完全满足单击事件的条件,不但双击事件触发了,单击事件同样也会被触发,下面就通过代码实例介绍一下如何解决它们的冲突问题,代码如下: <!DOCTYPE html> <html> <hea

Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法

1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, 700.316650390625). Other element would receive the click:” 2.分析原因: (1)首先肯定不是因为页面元素不存在而无法点击,也不是要点击的button不在预览范围内. (2)可能是被前一步的操作的一个弹出层挡住了.因为前几步是弹出了一个mo

关于怎样用PHP及JS来动态加载html元素及加载的html代码绑定事件失效的解决方法!

首先编写好的html代码放入php文件里面设置请求头格式为text/html 然后呢我将用jquery来操作 先定义一个用了盛放代码的容器 $(function(){}) => window.onload .sn-header-bg 是我用来盛放代码的容器 我的php文件名是header.php放在data目录下! 执行以上代码完成后一个页头就出来了! 加载完成后我在header里面绑定了两个函数,但是全部失效了,原因是没找到对应的dom元素, 根本原因是我没加载完成之前这两个函数就已经执行去寻

inline-block元素的空隙与解决方法

多次遇到了使用inline-block后留下间隙的问题,所以记录一下,以提醒自己以后留意这点. 现象描述: 使用display:inlie-block后和一些行内元素都有此现象如:<a> <img><input>等标签元素 <div class="space"> <p></p> <p></p> <p></p> </div> .space p{ displa