1

我一直在尝试测试一个 Web 应用程序,它生成中间有随机值的 html id。例如:attribute_new_12493044135_name 该属性定义了我要查找的对象类,“名称”是该字符串的唯一部分。问题是我没有 Xpath 2.0,因此不能在脚本上使用 end-with。任何人都可以帮忙吗?我尝试使用 Selenium Webdriver 和 IDE,但找不到答案。

4

2 回答 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 回答