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 文件