从找到的元素中获取元素ID

时间:2016-01-30 19:01:53

标签: coded-ui-tests

我在CodedUI测试中使用Chrome驱动程序和Selenium工具。我可以使用SearchProperties和Contains运算符找到我需要的元素,但是我需要完整的Id用于后续搜索。

例如,我需要找到一个ID为“pm_modal_28”的输入元素。 通过搜索其中Id包含“pm_modal”,这很容易。 然后我需要从找到的Id中解析值“28”,这样我就可以搜索下一个ID为“dp_28”的嵌套元素。

当我使用HtmlDiv的Id属性时,我得到一个NotSupportedException。无论如何,我可以从Element获取所有Html属性,或者在找到元素之后从中获取Id?

2 个答案:

答案 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"

看看是否有效!