我一直在尝试测试一个生成html id的Web应用程序,其中间有一个随机值。例如:attribute_new_12493044135_name 该属性定义了我想要查找的对象类,“name”是该字符串的唯一部分。问题是我没有Xpath 2.0,因此不能在脚本上使用ends-with。 有人可以帮忙吗?我试过使用Selenium Webdriver和IDE,但找不到答案。
答案 0 :(得分:3)
如果您无法访问Xpath 2.0库,那么您确实无法使用ends-with函数。但是您可以访问所有Xpath 1.0函数。 http://www.edankert.com/xpathfunctions.html
您可以使用两个函数来xpath到元素。
包含()://*[contains(@id, 'name')]
substring()://*[substring(@id, string-length(@id)-3)="name"]
字符串长度中的3是您的定位器的字符数减1.即'name'有4个字符所以4 - 1 = 3
祝你好运!
答案 1 :(得分:0)
也可以使用 css 定位器的组合代替 XPath:
[id*=attribute_new_][id*=_name]
或:
[id^=attribute_new_][id$=_name]
以下是这些标志的含义:
<块引用>"^" - 前缀/以
开头"$" - 后缀/以
结尾"*" - 子串/包含