Selenium元素定位方法大汇总,及XPath、CSS定位详解
1.所有方法汇总
方式 | 示例 | 说明 |
---|---|---|
identifier | Click Element | identifier=my_element | 匹配 id 或 name 属性 |
id | Click Element | id=my_element | 匹配 id 属性 |
name | Click Element | name=my_element | 匹配 name 属性 |
xpath | Click Element | xpath=//div[@id=‘my_element’] | 匹配 Xpath 表达式 |
dom | Click Element | dom=document.images[56] | 匹配DOM表达式 |
link | Click Element | link=My Link | 匹配锚点的链接文字 |
partial link | Click Element | partial link=y Lin | 匹配锚点的部分链接文字 |
css | Click Element | css=div.my_class | 匹配 CSS |
jquery | Click Element | jquery=div.my_class | 匹配jQuery/sizzle选择器 |
sizzle | Click Element | sizzle=div.my_class | 匹配jQuery/sizzle选择器 |
tag | Click Element | tag=div | 匹配元素的HTML tag 名称 |
default* | Click Link | default=page?a=b | 匹配第一个=后面的关键属性 |
2.XPath定位详解
XPath运算符 | 说明 |
---|---|
/ | 此路径运算符出现在模式开头时,表示应从根节点选择。 |
// | 从当前节点开始递归下降,此路径运算符出现在模式开头时,表示应从根节点递归下降。 |
. | 当前上下文。 |
… | 当前上下文节点父级。 |
* | 通配符;选择所有元素节点与元素名无关。(不包括文本,注释,指令等节点,如果也要包含这些节点请用node()函数) |
@ | 属性名的前缀。 |
@* | 选择所有属性,与名称无关。 |
: | 命名空间分隔符;将命名空间前缀与元素名或属性名分隔。 |
( ) | 括号运算符(优先级最高),强制运算优先级。 |
[ ] | 应用筛选模式(即谓词,包括"过滤表达式"和"轴(向前/向后)")。 |
[ ] | 下标运算符;用于在集合中编制索引。 |
| | 两个节点集合的联合,如://messages/message/to | //messages/message/cc |
- | 减法。 |
div | 浮点除法。 |
and, or | 逻辑运算。 |
mod | 求余。 |
not() | 逻辑非 |
= | 等于 |
!= | 不等于 |
特殊比较运算符 | < 或者 <= 或者 > 或者 >= |
XPath轴名称 |
---|