目录大纲
- 前提
- 1. xpath练习
- 1.1 nodename
- 1.2 /
- 1.3 //
- 1.4 .
- 1.5 ..
- 1.6 @
- 1.7 /bookstore/book[1]
- 1.8 /bookstore/book[last()]
- 1.9 /bookstore/book[last()-1]
- 1.10 /bookstore/book[position()<3]
- 1.11 //title[@lang]
- 1.12 //title[@lang="eng"]
- 1.13 *
- 1.14 @*
- 1.15 node()
- 1.16 /bookstore/*
- 1.17 //*
- 1.18 html/node()/meta/@*
- 1.19 //title[@*]
- 1.20 //book/title | //book/price
- 1.21 //title | //price
- 1.22 /bookstore/book/title | //price
- 1.23 //*[text()=“x’x’x”]
- 1.24 //*[starts-with(@attribute,"xxx")]
- 1.25 //*[contains(@attribute,"xxxxx")]
- 1.26 //*[@attribute1=value1 and @attribute2=value2]
- 2. css选择器练习
前提
使用火狐浏览器,并安装了对应的插件后进行下面的练习

1. xpath练习
以搜狗搜索为例
https://www.sogou.com/
1.1 nodename
nodename表示根节点,也就是说在抓取任何一个节点时都要从根节点开始找

1.2 /
从根节点选取

1.3 //
从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置

1.4 .
选取当前节点

1.5 …
选取当前节点的父节点

1.6 @
选取属性

1.7 /bookstore/book[1]
选取属于bookstore子元素的第一个book元素

1.8 /bookstore/book[last()]
选取属于bookstore子元素的最后一个book元素

1.9 /bookstore/book[last()-1]
选取属于bookstore子元素的倒数第二个book元素

1.10 /bookstore/book[position()❤️]
选取最前面的两个属于bookstore元素的子元素的book元素

1.11 //title[@lang]
选取所有拥有名为lang的属性的title元素

1.12 //title[@lang=“eng”]
选取所有title元素,且这些元素拥有值为eng的lang属性

1.13 *
匹配任何元素节点

1.14 @*
匹配任何属性节点

1.15 node()
匹配任何类型的节点

1.16 /bookstore/*
选取bookstore元素的所有子元素

1.17 //*
选取文档中的所有元素

1.18 html/node()/meta/@*
选择html下面任意节点下的meta节点的所有属性

1.19 //title[@*]
选取所有带属性的title元素

1.20 //book/title | //book/price
选取book元素的所有title和price元素

1.21 //title | //price
选取文档中的所有title和price元素

1.22 /bookstore/book/title | //price
选取属于bookstore元素的book元素的所有title元素,以及文档中所有的price元素

1.23 //*[text()=“x’x’x”]
全部//title/text() 本内容是xxx的元素

1.24 //*[starts-with(@attribute,“xxx”)]
属性以xxx开头的元素

1.25 //*[contains(@attribute,“xxxxx”)]
属性中含有xxx的元素

1.26 //*[@attribute1=value1 and @attribute2=value2]
同时有两个属性值的元素

2. css选择器练习
2.1 通过伪类名、id、标签名定位




2.2 通过元素之前嵌套关系




2.3 通过属性






2.4 通过父子关系




本文提供了一次使用Selenium进行Web自动化测试的实践,着重讲解了XPath和CSS选择器在定位页面元素时的各种用法,包括nodename、/、//、@等XPath语法以及通过伪类名、ID、标签名、嵌套关系和属性等CSS选择器的应用。通过实例演示,帮助读者深入理解并掌握这两种定位技术。
4万+

被折叠的 条评论
为什么被折叠?



