выбор значения из раскрывающегося списка Combobox с использованием селена и С#

Я работаю над автоматизацией приложения с селеном и С#. Как выбрать значение из выпадающего списка?

HTML-код:

<div ng-class="{deleted: row.entity.isDeleted, dirty: row.entity.isDirty()}" <div="" ng-repeat="col in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell ng-scope ui-grid-coluiGrid-000T dirty editable" ui-grid-cell="" tabindex="-1" aria-selected="true">
                        <div class="ui-grid-cell-contents ng-binding ng-scope ui-grid-cell-focus ui-grid-cell-contents-hidden">Medicare Advantage Plan</div><div ng-class="{deleted: row.entity.isDeleted, dirty: row.entity.isDirty()}" class="ng-scope dirty">

Я попробовал приведенный ниже код, и он не работает.

_context.WebDriver.FindElement(By.XPath("//div[@class='ui-grid-row ng-scope'][" + (i) + "]/div/div[3]")).SendKeys("Medicare Advantage Plan");

person Hema Latha    schedule 10.09.2018    source источник


Ответы (1)


Вам нужно создать список элементов выпадающего элемента, а затем по индексу вы можете получить к ним доступ. Чтобы создать список, вам нужно проверить раскрывающиеся элементы и найти общий элемент, такой как id/name/xpath. Я сделал что-то подобное на Java, надеюсь, это поможет.

public void getList_ByXpath(String element, int list_index_to_click) {
        try {
            getWait().until(ExpectedConditions.visibilityOfElementLocated(By.xpath(element)));
            WebElement web_el = getDriver().findElement(By.xpath(element));
            Select select = new Select(web_el);
            List<WebElement> option = select.getOptions();
            option.get(list_index_to_click).click();
        } catch (Exception e) {

        }
    }

Вам нужно создать WebElement, который будет находить элементы на основе общего идентификатора, затем создается список, и вы выполняете нужное действие на основе индекса.

person Neagu V    schedule 11.09.2018
comment
Выпадающие элементы являются динамическими, предопределенных выпадающих элементов нет. - person Hema Latha; 11.09.2018
comment
Также я попытался с SelectElement, для которого я получил неожиданное исключение тега - person Hema Latha; 11.09.2018