自动化测试学习(六)-selenium定位元素之CSS选择器详细用法

这篇具有很好参考价值的文章主要介绍了自动化测试学习(六)-selenium定位元素之CSS选择器详细用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自动化测试 css定位是什么,python实现自动化测试,selenium,python

目录

1.通过class属性定位

2.通过id属性定位

3.通过标签名定位

4.其他方法定位


   CSS是一种语言,它可以比较灵活的选择控件的任意属性,一般情况下比Xpath快,下面我们详细介绍CSS的用法。CSS常见语法如下表所示: 

选择器 示例 描述
.class .s_ipt 选择class="s_ipt"的所有元素
#id #kw 选择id="kw"的所有元素
* * 选择所有元素
element input 选择所有<input>元素
element>element span>input 选择<span>下的所有<input>元素
element+element div+a 选择同一级中<div>元素之后的所有<a>元素
[attribute=value] [type=text]

选择type="text"的所有元素

还是以百度输入框和搜索按钮为例: 

自动化测试 css定位是什么,python实现自动化测试,selenium,python

1.通过class属性定位

driver.find_element(By.CSS_SELECTOR,'.s_ipt')

2.通过id属性定位

driver.find_element(By.CSS_SELECTOR,'#kw')

3.通过标签名定位

# 因为input标签不是唯一的,所以无法成功定位
driver.find_element(By.CSS_SELECTOR,'input')

标签名相同的概率非常大,所以通过标签名定位元素很难找到想要的元素,因此我们可以通过zu组合方法来定位。

4.其他方法定位

(1)通过父子关系定位,用‘>’表示。

driver.find_element(By.CSS_SELECTOR,'form>span>input')

(2)通过属性定位,[attribute=value]即[属性名=属性值]。

driver.find_element(By.CSS_SELECTOR,'[name="wd"]')

(3)组合定位。

①tag name+class

driver.find_element(By.CSS_SELECTOR,'input.s_ipt')

②tag name+id

driver.find_element(By.CSS_SELECTOR,'input#kw')

③tag name+attribute

driver.find_element(By.CSS_SELECTOR,'input[name="wd"]')

Xpath与CSS类似功能的对比如下表所示:

定位方式 Xpath CSS
tag name //input input
id //input[@id='kw'] input#kw
class //input[@class='s_ipt'] input.s_ipt
属性 //input[@type='text'] input[type=text]
子元素

//span/input

span>input

总结:

        通过对比可以看出来,CSS语法更加简洁,可以满足日常定位元素需求,所以更推荐大家使用。


下一篇:自动化测试学习(七)-正则表达式,你真的会用吗?文章来源地址https://www.toymoban.com/news/detail-796889.html

到了这里,关于自动化测试学习(六)-selenium定位元素之CSS选择器详细用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Java+Selenium的WebUI自动化测试框架(一)---页面元素定位器

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 对于自动化测试,尤其是UI的自动化测试。是很多做黑盒功能测试的同

    2024年03月17日
    浏览(64)
  • 【selenium】自动化测试中,元素无法点击定位等问题的解决:js的使用方法

    在自动化测试中经常会遇到使用selenium方法定位元素点击操作失败的情况,例如,我们想实现在浏览器输入http://www.baidu.com,进入百度首页后,鼠标悬停在“更多产品”上,点击“全部产品” 若不使用js的话,代码应该如下图所示: 我们执行代码后,发现会报错 我们该如何解

    2024年02月08日
    浏览(44)
  • 『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?

    在了解元素等位前,我们先了解下 app 的一些类型,只有了解这些 app 的类型才能针对性的选择元素定位方法; 因为不同类型的app的定位方式可能存在差异性; 我们了解到 APP 可以分为原生 APP 、 Web APP 、混合 APP 。 而原生 APP 是基于 Android 或 iOS 平台官方的语言、类库、工具

    2024年02月03日
    浏览(48)
  • selenium自动化元素定位之下拉列表框

    目录 一、查看被测应用元素信息 二、Select的下拉框怎么定位 其思路也是获取下拉的选项框,循环遍历寻找匹配的index,找到便设置成选中属性 三、非select的下拉框如何定位?  在编写webUI自动化过程中,有些元素的定位,不能直接通过id、name等快速定位到。这些特殊的元素

    2024年02月11日
    浏览(53)
  • 【Selenium】UI自动化|元素定位常见问题

    分析的可能原因: 页面还没有加载出来,就对页面上的元素进行的操作 元素在iframe中,先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位。 元素在新的窗口中,未切换句

    2024年04月10日
    浏览(56)
  • Python+selenium自动化元素定位防踩坑

    在自动化UI测试过程中常常会在元素定位阶段就踩坑,碰到困扰已久的问题。 以下是个人整理元素定位报错原因和解决方法。 踩坑一:StaleElementReferenceException selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document 异常原因:

    2024年02月06日
    浏览(47)
  • 【web自动化】selenium+python八大元素定位

    推荐:b站软件测试老白 注意点 1.有id才能能使用id定位 2.id不能重复 通过百度页面,演示如何查找id确定id是否重复,其他方式定位也可以这样搜索 代码如下(示例): 如果有多个class_name,可以使用 find_elements 和取下标的方式 例如:打开哔哩哔哩页面,有番剧,电影等等,他

    2024年01月21日
    浏览(82)
  • Web自动化 —— Selenium元素定位与防踩坑

    2. 基本元素定位二 3. CSS选择器定位法一 4. CSS选择器定位法二 浏览器完整的打开-关闭调用流程 5. xpath定位法 1、相对路径定位 //标签名[@属性名=\\\"属性值\\\"] 2、定位某个元素的父级元素 元素xpath/parent::\\\"父级元素标签名\\\" //*[@id=\\\"list\\\"]/dl/a/parent::dl 3、定位一组元素的第几个 xpath[数字

    2024年02月09日
    浏览(43)
  • Selenium自动化实现高亮显示定位到的元素

    在调试Selenium脚本中,有时因为操作太快或操作不明显而不清楚是否定位到了正确的元素。我们可用通过执行js为定位到的元素添加样式,来高亮显示定位到的元素。 在Selenim Webdriver中,可以通过driver.exectue_scirpt() 执行JavaScript代码,执行的JavaScript代码是支持传入参数的,甚至

    2024年02月20日
    浏览(43)
  • 【UI自动化】selenium元素定位各种框实例操作大全

    Text: 元素是input标签但是不能输入内容 第五个input输入框, disabled 属性被设置为 \\\"true\\\" 。 它被禁用了无法接收用户的输入。 第六个input输入框, readonly 属性指示该元素是否只读 ,如果设置了该属性,表示该元素只读不可编辑。因此,当 readonly 属性存在时,该输入框是不可

    2024年01月18日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包