我一直在尝试测试一个 Web 应用程序,它生成中间有随机值的 html id。例如:attribute_new_12493044135_name 该属性定义了我要查找的对象类,“名称”是该字符串的唯一部分。问题是我没有 Xpath 2.0,因此不能在脚本上使用 end-with。任何人都可以帮忙吗?我尝试使用 Selenium Webdriver 和 IDE,但找不到答案。
问问题
1104 次
2 回答
3
您确实是正确的,如果您无权访问 Xpath 2.0 库,则不能使用 end-with 函数。但是您确实可以访问所有 Xpath 1.0 功能。http://www.edankert.com/xpathfunctions.html
您有两个函数可用于 xpath 到您的元素。
包含()://*[contains(@id, 'name')]
substring()://*[substring(@id, string-length(@id)-3)="name"]
字符串长度中的 3 是定位器的字符数减 1。即“名称”有 4 个字符,因此 4 - 1 = 3
祝你好运!
于 2012-10-02T20:47:24.863 回答
0
也可以使用 css 定位器的组合而不是 XPath:
[id*=attribute_new_][id*=_name]
或者:
[id^=attribute_new_][id$=_name]
以下是这些标志的含义:
“ ^ ” - 前缀/以
“ $ ” - 后缀/以
“*” - 子字符串/包含
于 2021-05-28T21:36:27.250 回答