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

 

posted @   七月的尾巴_葵花  阅读(321)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示