元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命令。
一个定位器的格式如下:
locatorType=argument
我们支持如下写法用于定位元素:
identifier=id :根据指定的@id属性选择元素。如果没有匹配的值,则选择
第一个@name属性为id的元素。
id=id :根据指定的@id属性选择元素。
name=name :选择第一个根据指定的@name所查找到的元素。
username
name=username
这里的name可以作为可选项跟在一个或多个元素过滤器的后面,通过空格进行分隔。如果没有指定过滤类型,则假定为value。
name=flavour value=chocolate
dom=javascriptExpression: 通过检测指定字符串查找元素。这使得你可以通
过 JavaScript贯穿HTML文档对象。注意在这个字符串中返回值不是必须的;仅仅只需要确保这条语句是你块中的最后一条。
dom=document.forms[´myForm´].myDropdown
dom=document.images[56]
dom=function foo() { return document.links[1];}; foo();
xpath=xpathExpression: 通过XPath 表达式定位元素。
xpath=//img[@alt=´The image alt text´]
xpath=//table[@id=´table1´]//tr[4]/td[2]
xpath=//a[contains(@href, ´#id1´)]
xpath=//a[contains(@href, ´#id1´)]/@class
xpath=(//table[@class=´stylee´])//th[text()=´theHeaderText´]/../
td
xpath=//input[@name=´name2´ and @value=´yes´]
xpath=//*[text()=″right″]
link=textPattern: 选择所包含的文字匹配指定式样的链接(锚)。
link=The link text
css=cssSelectorSyntax: 通过css选择器选择元素。请查询CSS2 选择器,
CSS3 选择器以获得更多信息。在下载下来的selenium core package中的
selenium test suite 里的TestCssLocators test ,你同样可以查看到使用例
子。
css=a[href=″#id3″]
css=span#firstChid + span
当前css选择过滤器支持所有的css1,css2,css3,除了css3中一些虚拟类
(:nth-of-type,:nth-last-of-type,:first-of-type,:last-of-type,:only-of-type,:visited,:hover,:active,:focus,:indeterminate)以及虚拟元素
(::first-line,::first-letter,::selection,::before,::after)。
如果没有一个显式的前缀, Selenium使用以下默认写法:
dom,用于开头为″document.″的定位器
xpath,用于开头为″//″的定位器
identifier