素定位器(ElementLocators)

Posted 七月的尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了素定位器(ElementLocators)相关的知识,希望对你有一定的参考价值。


元素定位器(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,

以上是关于素定位器(ElementLocators)的主要内容,如果未能解决你的问题,请参考以下文章

基于python实现UI自动化3.0 selenium - webdriver常见8大元素定位

selenium8中元素定位方式

Python中元素定位探讨

iframe下元素定位

appium自动化中元素定位碰到的问题一

appium自动化中元素定位碰到的问题一