Selenium - ASP.NET生成的ID(类似JQuery的选择)

时间:2010-12-16 14:50:56

标签: asp.net xpath selenium inamingcontainer

JQuery支持$("span[id$='Label1']")的语法,允许选择ASP.NET INamingContainer生成的ID,其前缀为“ ct100 $ ... ”。

我们正在使用Selenium并且正在寻找一种类似的方法来选择元素,忽略ASP.NET生成的前缀。

想法?

3 个答案:

答案 0 :(得分:0)

理论上你可以使用XPath选择器这样做:

//div[ends-with(text(), 'MyControlId')]

但我觉得你不能将ends-with函数与Selenium一起使用,因为它不是XPath 1.0的一部分。你可能需要更难看的东西:

//div[substring(text(), string-length(text()), 11)='MyControlId']

答案 1 :(得分:0)

使用:

//span[@id[substring(.,string-length()-5)='Label1']]

答案 2 :(得分:0)

如果项目在.Net 4中,现在可以对动态控件进行静态命名。

请阅读http://www.dotnetcurry.com/ShowArticle.aspx?ID=492

如果你有幸以这种方式完成它,那么会让生活变得更轻松。否则,正确形成的XPath将起作用(但是测试IE是致命的慢)

干杯, 斯蒂芬