Как выбрать вариант из раскрывающегося списка с тегом / классом div? .Selenium - PullRequest
0 голосов
/ 10 июля 2020

Я перепробовал все возможное. Кроме того, пробовал искать различные комбинации и варианты. Я могу щелкнуть элемент, чтобы открыть раскрывающийся список. но я не могу выбрать в нем вариант. Я пробовал с действиями, клавишами отправки, клавишами вниз / вводом и многими другими вещами. однако это не помогло. Это единственное, на чем я застрял.

// выбор офиса

1.driver.findElement (By.id ("DG5QEPn")). Click ();

Действия Действия = новые Действия (драйвер); actions.moveToElement (driver.findElement (By.xpath ("// * [@ id =" DG5QEPn "] / div / div / div1 / div1"))). click ();

driver.findElement (By.id ("DG5QEPn")). Click ();

driver.findElement (By.id ("DG5QEPn")). SendKeys ("RTP HQ"); driver.findElement (By.id ("DG5QEPn")). sendKeys (Keys.Down); driver.findElement (By.id ("DG5QEPn")). sendKeys (Keys.Enter);

Html - На изображении ниже.

введите описание изображения здесь

Ответы [ 2 ]

2 голосов
/ 10 июля 2020

Вы должны перечислить все параметры, а затем щелкнуть по нужному. Взгляните на this .

EDIT

Самый простой способ, который я нашел, - это сделать что-то вроде:

el = driver.find_element_by_id('id_of_select')
for option in el.find_elements_by_tag_name('option'):
    if option.text == 'The Options I Am Looking For':
        option.click() # select() in earlier versions of webdriver
        break
0 голосов
/ 13 июля 2020

Код ниже работал у меня

WebElement selectMyElement = driver.findElement (this.getObject (By.Id ("Id of Your DropDown"))); selectMyElement.click ();

Действия keyDown = новые Действия (драйвер); keyDown.sendKeys (Keys.chord (Keys.DOWN, Keys.DOWN, Keys.ENTER)). perform ();

...