c#中的Selenium webdriver在自动完成中选择一个值

时间:2017-03-01 18:17:54

标签: c# selenium selenium-webdriver

有一个输入文本框如下

<input class="text-box single-line ui-autocomplete-input valid" data-val="true" data-val-required="The Initiator field is required." id="InitiatorName" name="InitiatorName" type="text" value="" autocomplete="off">

在输入文本时,会在jquery中触发一个事件,该事件会产生结果。没有向html添加UI元素部分以显示自动完成值<li>标记。 有一个<span>标记显示悬停时的值,如下所示:

<span role="status" aria-live="polite" class="ui-helper-hidden-accessible">[object Object]</span>

我无法检索自动完成的值,以便我可以比较它们以根据我的条件选择值。 这是Jquery返回的数据:

$("#InitiatorName").autocomplete({
    autoFocus: true,
    minLength: 2,
    source: function (request, response) {
        $.ajax({
            url: "my url:,
            type: "GET",
            dataType: "json",
        }).done(function (data) {
            response($.map(data, function (item, index) {
                if (index < 10) {
                    return {
                        label: item.Customer.Id + ' | ' + $.trim(item.Customer.Name) ,
                        value: item.Customer
                    };
                }
                else
                    return null;
            }));
        });
    }

我在C#中使用selenium webdriver输入自动完成的文本,如下所示:

 var iname = driver.FindElement(By.Id("InitiatorName"));
            iname.SendKeys(initiator);

但是,我没有得到如何读取自动完成值,以便我可以根据条件选择一个。

附加html代码的图像: 输入值及其html后的文本框:

enter image description here

enter image description here

0 个答案:

没有答案