我在CodedUI测试中使用Chrome驱动程序和Selenium工具。我可以使用SearchProperties和Contains运算符找到我需要的元素,但是我需要完整的Id用于后续搜索。
例如,我需要找到一个ID为“pm_modal_28”的输入元素。 通过搜索其中Id包含“pm_modal”,这很容易。 然后我需要从找到的Id中解析值“28”,这样我就可以搜索下一个ID为“dp_28”的嵌套元素。
当我使用HtmlDiv的Id属性时,我得到一个NotSupportedException。无论如何,我可以从Element获取所有Html属性,或者在找到元素之后从中获取Id?
答案 0 :(得分:0)
不确定这是否是你所追求的,一旦确定了控件,你就可以使用它的所有属性了。 例如
var control = new HtmlDiv ();
control.SearchProperties.Add("Id", "MyDiv_28");
if (!control.TryFind()) return;
var newControl = new HtmlDiv();
newControl.SearchProperties.Add("Id", control.Id.Split('_')[1]);
newControl.TryFind();
答案 1 :(得分:0)
HtmlDiv myDiv = new HtmlDiv(browser);
//Add the search logic u want !
myDiv.SearchProperties.Add("class", "ClassName");
string onewayforID = myDiv.Id;
string anotherWay = myDiv.GetProperty(HtmlDiv.PropertyNames.Id).ToString(); // Or u can simpy pass "Id"
看看是否有效!