JQuery支持$("span[id$='Label1']")
的语法,允许选择ASP.NET INamingContainer生成的ID,其前缀为“ ct100 $ ... ”。
我们正在使用Selenium并且正在寻找一种类似的方法来选择元素,忽略ASP.NET生成的前缀。
想法?
答案 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是致命的慢)
干杯, 斯蒂芬