Я использую HtmlUnit в Java для перехода на веб-страницу. С этой веб-страницы мне нужно войти в систему, а затем перейти оттуда. Я знаю, как вводить имя пользователя и пароль, но затем есть раскрывающийся список, где мне нужно выбрать один из параметров. Как выбрать параметр из раскрывающегося списка в HtmlUnit? Благодаря
Как использовать HtmlUnit в Java для выбора элемента из раскрывающегося списка?
Ответ 1
Вы можете перемещаться и управлять элементами страницы <select>
с помощью HtmlSelect
:
WebClient client = ...
Page page = client.getPage(url);
HtmlSelect select = (HtmlSelect) page.getElementById(mySelectId);
HtmlOption option = select.getOptionByValue(desiredOptionValue);
select.setSelectedAttribute(option, true);
JavaDoc показывает, что существует множество гибких методов API для выполнения таких действий.
Ответ 2
Следующий код:
HtmlSelect select = page.getElementById(mySelectId);
должен быть:
HtmlSelect select = (HtmlSelect)page.getElementById(mySelectId);
Ответ 3
Добавьте следующие строки:
protected void selectOption(WebElement el, String option)
{
Select select = new Select(el);
select.selectByVisibleText(option);
}
protected WebElement elById(String id)
{
return driver.findElement(By.id(id));
}
// "title" is your drop-down HTML id
public void populateForm(String elValue)
{
selectOption(elById("title"), elValue);
}