如何通过两个属性C#定义元素?

时间:2014-07-29 20:20:18

标签: c# javascript html asp.net

是否可以通过两个属性定义网页元素?例如,我可以通过其innertext找到元素

Element imagePage = ActiveBrowser.Find.ByContent(pageNumbers[p],FindContentType.InnerText);

或者我可以通过元素id

的一部分来定义元素
Element imagePage = ActiveBrowser.Find.ById("p:p") 

但我能用两者来定义它吗?每次运行程序时都会重新创建元素本身,因此唯一的常量是内部文本,但这不足以将其与网页上的其他元素区分开来,我认为区分元素的唯一方法是添加另一个标识将使用元素id的第一部分(在本例中为p)的方法,该方法也保持不变并且对于该特定元素是唯一的。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您正在谈论Telerik的UI测试框架,请查看Find.AllByExpression()

// Create an HTMLFindExpression element
HTMLFindExpression expr = new HTMLFindExpression("id=?sam","class=~bar","textcontent=!foo");

// Return all elements matching HTMLFindExpression
IList<Element> allSams = Find.AllByExpression(expr);

更多信息:http://docs.telerik.com/teststudio/user-guide/write-tests-in-code/intermediate-topics/element-identification/finding-page-elements.aspx