Как извлечь текст первой выбранной опции из выпадающего списка с помощью Selenium Webdriver через Java - PullRequest
2 голосов
/ 17 января 2020

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

"//[[[[ChromeDriver: chrome on WINDOWS (d5a01776981da5dacfeb89dbbc2e6b52)] -> xpath: //*[@name='airline']]].// -> tag name: option]" 

Имя тега является опцией для выпадающих опций. Я перепробовал все решения selectByXXXX. но ничего не работает. какой будет правильный код?

//airline preference
{
    Select airline = new Select (driver.find Element(By.name("airline"))); //selecting tag
    Thread.sleep(2000); //sleeptime`
    airline.selectByVisibleText("Pangea Air"); //selecting option
    Thread.sleep(2000); //sleep time
    Select airlin = new Select (driver.findElement(By.xpath("//*[@name='airline']"))); //omg
    WebElement s = airlin.getFirstSelectedOption();
    Thread.sleep(2000);
    System.out.println(s);
}

1 Ответ

2 голосов
/ 18 января 2020

getFirstSelectedOption

getFirstSelectedOption() возвращает первую выбранную опцию в этом теге выбора (или текущую выбранную опцию в обычном выборе). NoSuchElementException выбрасывается, если не выбрана ни одна опция.


Кажется, вы были довольно близко. После выбора опции через selectByVisibleText() затем вы можете вызвать getFirstSelectedOption(), чтобы выбрать выбранный элемент опции, и, наконец, используя getText(), вы можете извлечь текст опции согласно приведенному ниже решению:

  • Кодовый блок:

    Select airline = new Select (driver.find Element(By.name("airline"))); //selecting tag
    airline.selectByVisibleText("Pangea Air"); //selecting option
    WebElement s = airline.getFirstSelectedOption();
    System.out.println(s.getText());
    
  • Консольный вывод:

    Pangea Air
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...