selenium定位方法(一)
selenium定位方法-(一)
1、定位页面元素的方式(By类的方法)
1)id定位:通过页面元素的id属性值来定位一个页面元素
注意事项:如果每次刷新网页之后元素的id属性值都不同,说明是js动态生成的id属性值,不唯一不能作为定位方式
// 向用户名文本框中输入yoki
driver.findElement(By.id("username")).sendKeys("yoki");
driver.find_element_by_id('username').sendKeys('yoki');
2)name定位:通过页面元素的name属性值来定位一个页面元素,如该属性不唯一不能作为定位方式
// 向用户名文本框中输入yoki
driver.findElement(By.name("username")).sendKeys("yoki");
driver.find_element_by_name('username').sendKeys('yoki');
3)linkText定位:使用链接的全部文本来定位,只适用于链接的页面元素
链接:标签名称为a的元素
链接的全部文本:<a>和</a>之间的文本内容
// 点击“查看详情”的链接
driver.findElement(By.linkText("查看详情")).click();
driver.find_element_by_link_Text('查看详情').click()
4)partialLinkText定位:使用链接的一部分关键文本来定位,只适用于链接的页面元素
// 点击包含“您的资产有”文本的链接
driver.findElement(By.partialLinkText("您的资产有")).click();
driver.find_element_by_partial_link_Text('您的资产有').click()
5)className定位:使用Class属性的值来定位
注意:网页源代码中查看class属性的值,而书写代码时使用的By类的className方法
注意:不建议直接使用该方法定位,因为有可能定位到一组元素满足该特征,如该属性不唯一不能作为定位方式
// 点击“搜索”按钮
driver.findElement(By.className("go")).click();
driver.find_element_by_class_name('go').click();
6)tagName定位:使用标签名称来定位页面元素
注意:不建议直接使用该方法定位,因为有可能定位到一组元素满足该特征,如该属性不唯一不能作为定位方式
// 输入留言yoki
driver.findElement(By.tagName("textarea")).sendKeys("yoki");
driver.find_element_by_tag_name('textarea').sendKeys('yoki')
层级定位
1)先定位某个祖先元素,在祖先元素的范围内再进行二次定位到后代元素
2)// 点击"登录",
driver.findElement(By.id("username")).findElement(By.tagName("img")).click();
driver.find_element_by_id('username').find_element_by_tag_name('img').click()
2、两个获得页面元素的方法
1)findElement:获得满足参数条件的第一个元素
// 向第一个input元素中输入yoki
driver.findElement(By.tagName("input")).sendKeys("yoki");
driver.find_element_by_tag_name('input').sendKeys('yoki')
2)findElements:获得满足参数条件的所有元素,再次使用get方法来获得其中的第几个,编号从0开始
// 向第二个input元素中输入yokil
driver.findElements(By.tagName("input")).get(2).sendKeys("yokil");
driver.find_element_by_tag_name('input').get(2).sendKeys('yoki')
selenium定位方法(一)的更多相关文章
- selenium定位方法实例
selenium定位方法实例 首先打开浏览器输入微博的网址,将网页最大化,等待3秒 from selenium import webdriver import time driver = webdri ...
- selenium定位方法(二)
selenium定位方法(二) 1.xpath定位:xpath是在XML中查找节点所在的路径的表达式 1)绝对路径的Xpath表达式 例:/html/body/div/div[1]/ul//li[3 ...
- selenium定位方法(java实例)(二)
从下图中可以看到selenium有三类定位元素的方法,一种是直接通过属性.标签以及链接来定位,一种是XPath方式,最后一种是CSS方式. 下表列举了元素定位的例子 selenium之页面元素定位方法 ...
- selenium定位方法-iframe元素定位方法
在自动化测试中,如果无法定位到一个元素,那么最大的可能是定位的元素是在iframe框架中,iframe对象代表一个HTML的内联框架,在HTML中,iframe每出现一次,一个iframe对象就会被创 ...
- selenium定位方法
- selenium自动化测试——常见的八种元素定位方法
selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ...
- selenium各种定位方法(转)
selenium使用 Xpath CSS JavaScript jQuery的定位方法 (治疗selenium各种定位不到,点击不了的并发症) 2017年07月28日 22:47:36 阅读数:369 ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍
这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...
- 不支持find_element_by_name元素定位方法,抛不支持find_element_by_name元素定位方法,会抛如下错误 org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this session的解决
appium1.5后不支持find_element_by_name元素定位方法,会抛如下错误 org.openqa.selenium.InvalidSelectorException: Locator ...
随机推荐
- 微服务迁移记(五):WEB层搭建(5)-集成ueditor编辑器,伪分布式图片上传
一.redis搭建 二.WEB层主要依赖包 三.FeignClient通用接口 以上三项,参考<微服务迁移记(五):WEB层搭建(1)> 四.SpringSecurity集成 参考:< ...
- IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效
向工具人致敬.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐 ...
- 面试官你好,我已经掌握了MySQL主从配置和读写分离,你看我还有机会吗?
我是风筝,公众号「古时的风筝」,一个简单的程序员鼓励师. 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 面试官:我看你简历上写的你们公司数据库是 ...
- layui实现图片上传
页面代码: <style> .uploadImgBtn2{ width: 120px; height: 92px; cursor: pointer; position: relative; ...
- luogu P2304 [NOI2015]小园丁与老司机 dp 上下界网络流
LINK:小园丁与老司机 苦心人 天不负 卧薪尝胆 三千越甲可吞吴 AC的刹那 真的是泪目啊 很久以前就写了 当时记得特别清楚 写到肚子疼.. 调到胳膊疼.. ex到根不不想看的程度. 当时wa了 一 ...
- luogu P3830 [SHOI2012]随机树 期望 dp
LINK:随机树 非常经典的期望dp. 考虑第一问:设f[i]表示前i个叶子节点的期望平均深度. 因为期望具有线性性 所以可以由每个叶子节点的期望平均深度得到总体的. \(f[i]=(f[i-1]\c ...
- source命令用法:source FileName
转自https://zhidao.baidu.com/question/59790034.html 写得很清楚,就直接搬过来了备忘 作用:在当前bash环境下读取并执行FileName中的命令. 注 ...
- wps 2011 破解版软件
今天换了一台新电脑. wps 都没有 系统的太过忍受不了 整了一天终于是找到了一个合适安装的 想要的邮件发给我 673658917@qq.com
- Android 程序间的广播和Manifest找不到(解决方法)
昨天写的是广播接收端的一些操作, 今天学的是广播的发送,上节介绍的标准广播和有序广播指的是发送端发送后,接收端的广播形式. 既然要发送,那就可以自定义发送广播: 把EditText的内容拿出来广播. ...
- (转载+新增)Win7下安装配置gVim
转载自 http://www.cnblogs.com/zhcncn/p/4151701.html.而后安装过程中加入自己遇到的问题解决方案. 本文根据vim官网的<Simple Steps to ...