xpath与CSS定位比较

  定位方式 xpath CSS
常规属性 id //*[@id=‘kw‘] #kw
class //input[@class=‘s_ipt‘] .s_ipt
name //input[@name=‘wd‘] [name=‘wd‘]
其他属性 其他属性 //input[@autocomplete=‘off‘] [autocomplete=‘off‘]
多个属性组合(逻辑运算) //input[@type=‘text‘and @name=‘wd‘] [type=‘text‘][name=‘wd‘]
文本属性   //*[text()=‘文本内容‘]  
层级关系 相对路径 //form[@id=‘form]/span/input form#form>span>input
索引 //select[@id=‘nr‘]/option[3] select#nr>option:nth-child(3)
      select#nr>option:eq(2)
      select#nr>option:first
      select#nr>option:last
通过儿子找父亲 两个点代表父级 //*[@id=‘‘]/../..  
模糊匹配 模糊匹配text //*[contains(text(),‘糯米‘)]  
模糊匹配某个属性 //*[contains(@class,‘s_ip‘)]  
模糊匹配以xx开头 //*[starts-with(@id,‘xx‘)]  

转自:https://www.cnblogs.com/anthinia/p/10735877.html

原文地址:https://www.cnblogs.com/XiaoF0725/p/12104103.html

时间: 2024-11-20 02:31:55

xpath与CSS定位比较的相关文章

Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链接等.比如在用户名输入框和密码输入框输入正确的用户名和密码,然后点击登录按钮进行登录.在Selenium自动化中,Selenium提供多种API来对HTML元素进行操作,对于每个HTML元素,需要一个可以标识它的标识符,在Selenium中称之为定位器,Selenium支持多种不同类型的定位器,有标

Xpath 与Css 定位方式的比较

1. 执行速度Css更快 2. 对于文本的处理xpath更强大使用 String locator_Xpath = "//*[contains(text(),'test')]"; 3. 使用祖先元素属性与当前元素属性组合处理时,CSS不需要严格写出层次结构 <div class="111"> <div> <div> <input class = "222"/> </div> </di

xpath定位和css定位

元素定位是web自动化测试最开始也是最重要的一个知识点. 学会了元素定位,也就完成了一个学习的里程碑. 但是有很多初学者最容易犯的错误就是在Chrome或Firefox中复制出定位语句. 这样做是不正确的,因为很多复制出来的语句是绝对定位的语句,网页发生一点变化,就会出现找不到元素的情况. 所以在实际写元素定位语句的时候,我们应该避免使用绝对路径语法进行定位,多使用相对路径定位语法进行定位. 苦于自己学识浅薄无法推出这方面的教程,但是自己找到了一个非常好的关于xpath和css定位的语法教程.

selenium+xpath 文本信息定位

selenium中根据父子.兄弟.相邻节点定位的方法,很多人在实际应用中会遇到想定位的节点无法直接定位,需要通过附近节点来相对定位的问题,但从父节点定位子节点容易,从子节点定位父节点.定位一个节点的哥哥节点. 第一种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input") 第三种方法:通过元素索引定位 By.xpath("//input[4]&qu

web中的CSS、Xpath等路径定位方法学习

今天不到八点就到公司了,来的比较早,趁着有点时间,总结下web中的CSS.Xpath等路径定位定位的方式吧! 简单的介绍下xpath和css的定位 理论知识就不罗列了 还是利用博客园的首页.直接附上代码: 这个是xpath 1 #!/usr/bin/env python 2 # -*- coding: utf_8 -*- 3 4 from learn_webdriver import Webdriver 5 from selenium import webdriver 6 from seleni

Xpath定位与Css定位

一. xpath定位:支持属性定位,只要属性唯一就可以定位到,无论是默认属性还是自定义属性 1.属性定位: 代码格式: //*[@name="city"] 如果有多个属性: /*[@name="city" and @size="4"] 其中//*代表全部元素,也可以用//select来过滤div的属性 2.角标定位: //div[@class='driver'][1]/div[1] 二.Css定位: 1.id选择器定位方式: #id 2.clas

CSS定位

一.属性定位(百度首页) 1.通过id定位:(#代表id) driver.find_element_by_css_selector("#kw").send_keys("selenium") 2.通过class定位:(.代表class) driver,find_element_by_css_selector(".s_ipt").send_keys("selenium") 3.通过标签定位:(不推荐) driver.find_el

火狐浏览器使用firebug获取xpath和css path

工作中,常常会用到网页元素的定位方式,常用的有xpath和css path两种定位方式. 现在简单介绍如何使用工具自动生成元素的定位字符串. 首先介绍在火狐浏览器上使用FireBug及其扩展FirePath两款工具,它们可以自动生成定位字符串和验证自己编辑的定位字符串能否匹配网页元素. 对着这两款工具截图如下: 使用方法: 打开一个网页,例如www.hao123.com; 鼠标右键点击一个页面元素--使用FireBug查看页面元素,鼠标单击页面左上角的FireBug插件图标或者按下F12键,三种

【Selenium 3+Java自动化(6)】-CSS定位语法

一.前言 本章节讲解一下CSS定位. CSS定位相对于XPath定位的优点是:css定位更快,语法更简洁. 这一篇css的定位方法,主要是对比上一篇的xpath来的,基本上xpath能完成的,css也可以做到.两篇对比学习,更容易理解. 二.CSS:属性定位 1.通过id属性定位,需要加上标识符"#",如:#kw: element = driver.findElement(By.cssSelector("#kw")); element.sendKeys("