selenium元素定位器(element Locators)

上一篇 / 下一篇  2010-10-21 09:58:49 / 个人分类:selenium学习

    元素定位器(Element Locators)告诉Selenium是向HTML中的哪一个元素发送命令。定位器的格式如下:

 locatorType = argument

    locatorType有:identifierid(元素属性名称id)、name(元素属性名称name)、domxpathlinkcss。我试过,元素属性class也可以的。

示例:

Commd

Target

Value

Type

id=password1

123456

Type

name=password2

123456

Type

identifier=password3

123456

 

   在有的情况下,定位器的格式可以省略掉显式的前缀(即没有“locatorType=”部分),省略了显式前缀时,Selenium使用以下定位器格式:

document.argument  (等价于dom=argument)

//argument (等价于xpath=argument

argument (等价于identifier=argument

示例:

Commd

Target

Value

Type

password1

123456

clickandwait

//a[@href="${wqy1}"]

 

   元素定位器使用不同的locatorType时,定位方法如下:

  •  identifier=id

   首先查找@id的值为id的元素;如果没有找到,则查找@name的值为id的元素,如果存在多个,则选择第1个。(@id表示元素的属性名称id@name表示元素的属性名称name)。

   示例:

Commd

Target

Value

Type

identifier =password3

123456

  •    id=id

   查找@id的值为id的元素。(@id表示元素的属性名称id

   示例:

Commd

Target

Value

Type

id =password1

123456

  •    name=name

   查找@name的值为name的元素,如果存在多个,则选择第1个。(@name表示元素的属性名称name)。

   示例:

Commd

Target

Value

Type

name=password2

123456

   locatorTypename时,定位器表达式后面可以跟随一个或多个元素过滤器表达式,它们之间用空格进行分隔。如果过滤器表达式中没有指定过滤类型,则假定过滤类型为value。(过滤类型有valueindex两种)。

   如:

Commd

Target

Value

click

name=username value=chenym

 

click

name=username chenym

 

   (上面两句脚本是等价的)

  •    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#firstChild + 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)


TAG:

 

评分:0

我来说两句

Open Toolbar