XPATH定位方法总结

摘要:
XPath位置详细信息通常选择XPath位置,因为无论使用什么ID、名称或类,它都无法唯一定位。例如,与当前元素最近的元素层是id:driver。通过xpath查找元素。单击()驱动程序。通过xpath查找元素。单击()相对路径的第一个元素位置方法:最外面的双引号;第一个元素:标记名[@element attribute='element-value'];无论元素的ID、名称或属性如何,它都用@引用。

XPath定位详解

  一般选择xpath定位是因为无论用idnameclass等,都不能唯一定位的时候。

1.2.1 绝对路径法

  (1)就是从HTML文件最外面一层tag一直找到所要的元素的tag为止;(2)如果某一层有多个同名的tag,就用数组标注的方式;(3)以单斜杠、双斜杠开头都可以。

driver.find_element_by_xpath(‘/html/body/div/div[2]/form/div/div[2]/div/input[3]’).click()

driver.find_element_by_xpath(‘//html/body/div/div[2]/form/div/div[2]/div/input[3]’).click()

1.2.2 相对路径法

  使用绝对路径太长。可以选择离当前元素最近的一个层级,且那个层级可以使用非path法唯一定位。比如,离当前元素最近的一层元素有id

  driver.find_element_by_xpath(‘//html/body/div[2]/table/tbody/tr/td[1]/div[1]/div[5]/div/div/table/tbody/tr[3]/td[2]/a’).click()

  driver.find_element_by_xpath(“//div[@id=’gallery_sl’]/div/table/tbody/tr[3]/td[2]/a”).click()

  相对路径的第一个元素定位方法:(1)最外一层双引号;(2)第一个元素的:tag名称[@元素属性=’元素值’];(3)不论是元素的id,名称还是什么属性,都用@引用。

1.2.3 类似partical_link_text

  注意最前面用双斜杠,不仅可以用于链接式的文本,也能用于其他含文本的元素。

  driver.find_element_by_css_selector("//a[contains(text(),'平面设计')]").click()

1.2.4 XPATH多次最短路径定位

driver.find_element_by_xpath(“//tr[@id=’login_btn’]//td[text()=’登录’]”).click()

 

driver.find_element_by_xpath(“/*/tr[@id=’login_btn’]//td[text()=’登录’]”).click()

 

中间用双斜线或者双斜线中间加一个星号来表示中间有若干个tag

1.2.5 用元素的text属性定位的两种表达式

driver.find_element_by_xpath(“/*/tr[@id=’login_btn’]//td[text()=’登录’]”).click()

 

driver.find_element_by_xpath(/*/tr[@id=login_btn]//td[contains(text(),登录)]).click()

 

两者的区别:第一种元素的属性必须为“登录”只能相等,而第二种包含字符就行,如“登录按钮”

免责声明:文章转载自《XPATH定位方法总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇word的常用操作MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

selenium快速获取,检查定位元素的CSS与xpath

     Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础。元素定位主要核心的两种方法是CSS 和XPTH定位,CSS是倚天剑,XPATH是屠龙刀,CSS元素定位上性能优于XPATH,优先使用CSS定位。这两种定位方式组合基本能完全查找到需要定位的元素。       下面介绍几种结合谷歌浏览器在UI自动化脚本编程过程中,...

Web自动化学习(4)

1、Selenium中有哪些不同类型的定位器? 定位器可以看作一个地址,用于在网页中唯一标识一个页面元素,为了准确地识别Web元素 Selenium中有8种不同的定位方式:ID;ClassName;Name;TagName;LinkText;PartialLinkText;Xpath;CSS Selector。 2、什么是XPath? 元素定位方式的一种...

爬虫实战(一) 用Python爬取百度百科

最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数据库,于是就想到了百度百科这么一个现成的 “数据库” 下面我们就通过 urllib 和 xpath 来获取百度百科的内容 1、爬取百度百科 百度百科是一个静态...

Python自带xml模块实现xpath查询带xmlns命名空间的xml

需求 手上有个项目需要解析xml数据,参考写爬虫的经验,容易想到使用XPath语句进行节点导航。 XPath 是一门在 XML 文档中查找信息的语言,用于在 XML 文档中通过元素和属性进行导航。 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。 查阅 网上搜了一下,大多推荐...

总结Selenium自动化测试方法(四)WebDriver常用的操作

四、WebDriver常用的操作 1、控制浏览器操作 #控制浏览器的大小 self.driver.set_window_size(480,800) #控制浏览器返回 self.driver.back() #控制浏览器前进到下个页面 self.driver.forward() #刷新当前页面 self.driver.refresh() 2、控制页面元素的简单...

python爬虫数据解析之xpath

xpath是一门在xml文档中查找信息的语言。xpath可以用来在xml文档中对元素和属性进行遍历。 在xpath中,有7中类型的节点,元素,属性,文本,命名空间,处理指令,注释及根节点。 节点 首先看下面例子: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> &l...