如何在Java中使用HtmlUnit从下拉框中选择元素?
我在Java中使用HtmlUnit导航到一个网页。从那个网页我需要登录,然后从那里去。我知道如何输入用户名和密码,但是有一个下拉框,我需要在其中选择一个选项。如何从HtmlUnit的下拉框中选择选项?如何在Java中使用HtmlUnit从下拉框中选择元素?,java,htmlunit,Java,Htmlunit,我在Java中使用HtmlUnit导航到一个网页。从那个网页我需要登录,然后从那里去。我知道如何输入用户名和密码,但是有一个下拉框,我需要在其中选择一个选项。如何从HtmlUnit的下拉框中选择选项? 谢谢您可以使用HtmlSelect导航和操作页面元素: WebClient client = ... Page page = client.getPage(url); HtmlSelect select = (HtmlSelect) page.getElementById(mySelectId);
谢谢您可以使用
HtmlSelect
导航和操作页面
元素:
WebClient client = ...
Page page = client.getPage(url);
HtmlSelect select = (HtmlSelect) page.getElementById(mySelectId);
HtmlOption option = select.getOptionByValue(desiredOptionValue);
select.setSelectedAttribute(option, true);
这表明有很多灵活的API方法可用于执行类似操作。以下代码:
HtmlSelect select = page.getElementById(mySelectId);
应该是:
HtmlSelect select = (HtmlSelect)page.getElementById(mySelectId);
添加以下行:
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);
}