SeleniumLibrary 元素定位
SeleniumLibrary提供了两种指定前缀的显式定位器策略。 第一种:
strategy:value
这种语法只支持 SeleniumLibrary 3 版本以上,是新的定位写法。
第二种:
strategy=value
这种语法是 Robot Framework 通常所使用的命令参数的语法。
SeleniumLibrary 支持的元素方法:
= Strategy = | = Match based on = | = Example = |
---|---|---|
id | Element id . |
id:example |
name | name attribute. |
name:example |
identifier | Either id or name . |
identifier:example |
class | Element class . |
class:example |
tag | Tag name. | tag:div |
xpath | XPath expression. | xpath://div[@id="example"] |
css | CSS selector. | css:div#example |
dom | DOM expression. | dom:document.images[5] |
link | Exact text a link has. | link:The example |
partial link | Partial link text. | partial link:he ex |
sizzle | Sizzle selector provided by jQuery. | sizzle:div.example |
jquery | Same as the above. | jquery:div.example |
default | Keyword specific default behavior. | default:example |
分割符号的空格将被忽略, 所以, id : foo
, id: foo
和 id:foo
都是等价的。
例如:
demo | – |
---|---|
Click Element | id:container |
Click Element | css:div#container h1 |
Click Element | xpath: //div[@id=“container”]//h1 |
如果定位器的开头为 “//” 或 “ (// ” 测被当做 Xpath 定位。换句话说,用 //div
和 xpath://div
是等价的。
例如:
demo | – |
---|---|
Click Element | //div[@id=“container”] |
Click Element | (//div)[2] |
除了可以直接操作元素外,也可以通过 Get WebElement 关键字获取元素对象。
demo | – | – |
---|---|---|
${elem} = | Get WebElement | id=example |
Click Element | ${elem} |
如果想更详细的了解元素定位的用法,可以阅读 SeleniumLibrary 库中的 __init__.py 文件