为什么selenium定位不到元素
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决:
1、Frame/Iframe原因定位不到元素:
这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位。
2、Xpath描述错误原因:
这种情况有可能是:
1、xpath语法规则书写错误,这个木有办法,补下xpath的语法,多写写,练练就好。
2、xpath层极太长,容易犯晕,比如我就写过://div[@id='mainBody']//div[1]//div[1]//div[1]//div[1]//div[1]//div[1]//div[2]//ul[1]//li[1]//a[1]
虽然最后还是调对了,调试的时候就是一层一层的定位,这种方法比耗时,但好在还算管用。
最终的方法还是要提高下写xpath的水平(LZ目前只会点简单的xpath语法,得恶补下)。
3、页面还没有加载出来,就对页面上的元素进行的操作:
这种情况一般说来,可以设置等待,等待页面显示之后再操作,这与人手工操作的原理一样:
1、设置等待时间;缺点是需要设置较长的等待时间,案例多了测试就很慢;
2、设置等待页面的某个元素出现,比如一个文本、一个输入框都可以,一旦指定的元素出现,就可以做操作。
3、在调试的过程中可以把页面的html代码打印出来,以便分析。
转载于:https://www.cnblogs.com/python-selenium/p/3880809.html
为什么selenium定位不到元素相关推荐
- selenium定位弹框元素
selenium定位弹窗元素 一. 弹出框是alert类型: selenium提供switch_to_alert方法:捕获弹出对话框(可以定位alert.confirm.prompt对话框) aler ...
- selenium定位不到元素的原因。
今天搞爬虫的时候,发现元素怎么也定位不到,弄了一中午,最后总算搞定了.所以今天写一下关于定位不到元素的原因. 1. 定位语句错误,对于定位语句是否错误可以尝试换一种定位方法. 2. 存在frame ...
- python xpath定位不到_Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)...
#coding=utf-8 '''Created on 2016-7-20 @author: Jennifer Project:登录百度账号 ''' from selenium importwebdr ...
- Selenium定位不到元素的解决方法—iframe挡住了去路
刚接触Selenium,在调试过程中发现有些元素定位不到,于是求助了百度,查找到的资料是这么说的:如果需要定位的元素在某个frame里,则单独通过id/name/xpath是定位不到此元素的.比如,原 ...
- selenium 定位不到元素总结
元素在网页上,却会出现定位不到的情况的分析. 1. 定位不正确. 2. 页面还没有加载完就去查找元素了. 3. 有遮罩层. 首先说下第3点. 先前在公司遇到过这样的问题. 页面是显示出来了, 这个元素 ...
- 关于selenium的8种元素定位
selenium中有八种元素定位,分别是:id,name,class_name,tag_name,link_text.partial_link_text.xpath.css 简单的定位可以用id.na ...
- python元素定位id和name_Python Selenium定位html元素|find_element_by_class-name-id-tag-css-xpath-text...
Selenium官方给了八种定位方法 1.find_element_by_class_name通过class name定位元素 我们拿Pythonfree网站来举例,点击右上角的搜索框. 鼠标右击搜索 ...
- python selenium定位元素方法,python + selenium 练习篇 - 定位元素的方法
1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...
- python元素定位input button_python+selenium 定位到元素,无法点击的解决方法
报错 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75 ...
- Selenium定位HTML元素(Python)
本篇不是介绍通过各种方法(id, name, tag_name, css, xpath等)定位HTML各元素的普及性文章,网络上各种文档和博客介绍得均比较全面.这里只是将自己实践中,遇到的个别问题及解 ...
最新文章
- bzoj 1028: [JSOI2007]麻将
- jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能
- Spring MVC控制器JUnit测试
- 心学 禅宗_禅宗宣言,用于有效的代码审查
- mysql如何查看dbid_如何获得数据库的DBID
- 首个谷歌TensorFlow安全风险被腾讯找到:攻击成本低、迷惑性强
- asp.net中的validaterequest属性与安全性
- Codeforces Round #466 (Div. 2): E. Cashback(单调队列+DP)
- Linux内核memcpy的不同实现
- 使用GreenSock插件轻松制作精美的Web动画
- hive sql 添加字段以及修改字段
- html浏览器图片不显示图片,教你网页图片显示不出来怎么办
- html设置列表编号起始值,Word多级编号怎么设置,要按我的要求作为起始值?
- cmake: 使用jom实现msvc工程并发编译提高速度(-j)
- Python 批量修改文件名称
- Vue入门练习:小王记事本
- 进入一种全新的“区块链”思维方式,对我们的生活有什么影响?
- 发一份魔兽改键工具的代码,vc6.0环境,带聊天模式识别功能
- 狂神说Java CSS3讲解综合代码
- 单源最短路径(spfa,Dijkstra, bellman-ford)
热门文章
- Android中的短信收不到问题
- Linux内核源码分析--内核启动之(2)Image内核启动(汇编部分)(Linux-3.0 ARMv7)
- python面值组合_算法题 - 拼凑面额 - Python
- 浮点数例外 (核心已转储)_年仅21岁出场过百重新定义边后卫,克洛普把阿诺德打造成进攻核心...
- docker容器的常用命令以及访问tomcat报404的解决方法(二)
- 【渝粤教育】电大中专门店销售与服务技巧 (2)作业 题库
- Django 高级(其他知识点)
- 青蛙学Linux—CentOS 6.10的安装
- VC++常用数据类型
- CLR via C# ver4.0 读书笔记