元素无法定位问题 NoSuchElementException: Message: no such element: Unable to locate element 解决方法
定位网页上某个按钮时,总是报错元素定位不到,具体如下:NoSuchElementException: Message: no such element: Unable to locate element
改了好几种写法,最终直接用 xpath helper 里获取的内容填充进去,还是报错,瞬间领悟了,原来不是 xpath 的问题,是因为脚本执行到这一行代码时,对应页面上的元素还没加载完成,
导致定位不到,需要设置等待时间,举个简单的例子:
#coding:utf-8
from selenium import webdriver
import selenium.webdriver.support.ui as ui
dr = webdriver.Chrome()
dr.get('http://www.xxx.com')
wait = ui.WebDriverWait(dr,5)
wait.until(lambda driver: dr.find_element_by_xpath("//span[text()='查看']"))
dr.find_element_by_xpath("//span[text()='查看']").click()
标蓝的代码,表示会反复调用until中的函数,找到就返回,超过5秒就抛出Timeout异常。
元素无法定位问题 NoSuchElementException: Message: no such element: Unable to locate element 解决方法的更多相关文章
- org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element(识别不到想要的元素) 想获取 ...
- 关于xpath语句完全正确,但是页面报错: no such element: Unable to locate element: {"method":"xpath","selector":"xpath"}
之前使用selenium-webdriver来写UI的自动化脚本,发现有一个元素一直无法定位,查看其源码,如下 利用xpathChecker验证了xpath语句的是正确的,但是控制台一直报错: no ...
- 如果遇到找不到元素如何处理? Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"investmentframe"}
常见几种原因与应对,详细参见http://www.blogjava.net/qileilove/archive/2014/12/11/421309.html 1,动态ID无法找到,用xpath路径解决 ...
- Message:Unable to locate element 问题解决方法
Python断断续续学了有一段时间了,总感觉不找个小项目练练手心里没底,哪成想出门就遇到"拦路虎",一个脚本刚写完就运行报错,还好做足了心里准备,尝试自行解决. 或许网上有相关解决 ...
- 解决Selenium弹出新页面无法定位元素问题(Unable to locate element)
Python 2.7 IDE Pycharm 5.0.3 环境细节详见Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录 对于同一页面无法定位元素问题请见姊妹篇解 ...
- Message: 'geckodriver' executable needs to be in PATH. 解决方法
问题描述: 执行如下代码 # coding=utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.maxim ...
- selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
1.问题发生描述: 从一个页面进行点击等操作,页面跳转到第二个页面,对第二个页面中的元素,采取任何措施定位都报错,问题报错点如下: 2.出现问题的原因: 窗口句柄还停留在上一个页面,对于当前新弹出的页 ...
- Selenium定位不到指定元素原因之iframe(unable to locate element)
浏览过程中,图片中的内容可能太小,无法看清,可以>右键>在新标签中打开 Outline 项目原因,需要用selenium实现模拟登陆.模拟上传文件,自然就需要模拟点击[上传]按钮: 模拟点 ...
- Element UI样式无法修改解决方法。
最近在做的项目中要用到Element UI组件来写,非常方便,但毕竟Element UI是有它自己的默认样式的,并不是客户所要求的,但就在我想要修改样式时遇到了棘手的问题. 如何引入和使用 Eleme ...
随机推荐
- sqlserver取字符串拼音首字母
sqlserver 使用函数获取一个字符串的拼音首字母 create function dbo.fn_getpinyin ( @str nvarchar(max) ) returns nvarchar ...
- Attaching an entity of type 'xxx' failed because another entity of the same type already has the same primary key value.
问题的详细描述: Attaching an entity of type 'xxxxx' failed because another entity of the same type already ...
- linux 软件包的组成部分
软件包的组成部分 1. 二进制文件 比如:/bin, /sbin & /usr/bin, /usr/sbin & /usr/local/bin, /usr/local/sbin 2.库 ...
- Noip2017Day2T2 宝藏
题目链接 problem 有\(n\)个点,\(m\)条无向边,选择一个点开始开辟道路.开辟一条长度为\(L\)的链接\(u,v\)的道路会花费\(L \times K\),K表示从选择的最初点到\( ...
- js获取计算机操作系统版本
如题,想要获取当先计算机的操作系统和版本号的话,可以用如下方法. 首先,创建osversion.js文件,文件里面的代码如下 var osData = [ { name: 'Windows 2000' ...
- jemalloc内存占用问题
最近,有部分越南的服务器内存不断上涨,怀疑是内存泄漏,因为框架提供的内存报告里,C内存和Lua占用内存都不大,和ps里看的差好多.总内存在12G左右,C和Lua的加起来约4G,两者相差了8G 经过一番 ...
- vue记事2
1.vue2父子组件双向数据传递 https://segmentfault.com/a/1190000011783590 2.vue父组件通过props向子组件传递方法的方式 https://segm ...
- 记一次token安全认证的实践
阅读此文前请先阅读上一篇SpringBoot整合JWT实现用户认证了解JWT. 背景介绍: 因项目需求,有PC端 APP端和小程序端,但登陆接口是同一个,然而微服务也无法使用传统的session解决用 ...
- centos 8 docker-ce 安装
https://www.techrepublic.com/article/a-better-way-to-install-docker-on-centos-8/ https://linuxconfig ...
- [IDA] 将连续的单个变量值修改为结构体
直接选中最上边的结构体,使用ALT+Q来进行修改.