XPath、CSS定位速查表
HTML版如下:
| 描述 | Xpath | CSS Path |
|---|---|---|
| 直接子元素 | //div/a | div > a |
| 子元素或后代元素 | //div//a | div a |
| 以id定位 | //div[@id=’idValue’]//a | div#idValue a |
| 以class定位 | //div[@class=’classValue’]//a | div.classValue a |
| 同级弟弟元素 | //ul/li[@class=’first’]/following-sibling::li | ul>li.first + li |
| 属性 | //form/input[@name=’username’] | form input[name=’username’] |
| 多个属性 | //input[@name=’continue’ and @type=‘button’] | input[name=’continue’][type=’button’] |
| 第4个子元素 | //ul[@id=’list’]/li[4] | ul#list li:nth-child(4) |
| 第1个子元素 | //ul[@id=’list’]/li[1] | ul#list li:first-child |
| 最后1个子元素 | //ul[@id=’list’]/li[last()] | ul#list li:last-child |
| 属性包含某字段 | //div[contains(@title,’Title’)] | div[title*=”Title”] |
| 属性以某字段开头 | //input[starts-with(@name,’user’)] | input[name^=”user”] |
| 属性以某字段结尾 | //input[ends-with(@name,’name’)] | input[name$=”name”] |
| text中包含某字段 | //div[contains(text(), ‘text’)] | 无法定位 |
| 元素有某属性 | //div[@title] | div[title] |
| 父节点 | //div/.. | 无法定位 |
| 同级哥哥节点 | //li/preceding-sibling::div[1] | 无法定位 |
更多关于父子、兄弟节点的定位,可见博主之前的博客 Python selenium —— 父子、兄弟、相邻节点定位方式详解
如果它对你有帮助,或者你有什么好的建议,请告诉我。
pdf版本可在此下载 xpath css cheat sheet by 灰蓝
更多关于python selenium的文章,请关注我的优快云专栏:Python Selenium自动化测试详解

本文提供了XPath与CSS选择器的快速参考指南,包括了直接子元素、后代元素、以ID或Class定位等常见操作的对比,并附带了具体示例。对于网页自动化测试和爬虫开发人员来说非常实用。
16万+

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



