我在Java中使用HtmlUnit导航到网页。从那个网页我需要登录然后从那里去。我知道如何输入用户名和密码,但是有一个下拉框,我需要选择其中一个选项。如何从HtmlUnit的下拉框中选择一个选项? 感谢
答案 0 :(得分:33)
您可以使用<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方法可以做这样的事情。
答案 1 :(得分:3)
以下代码:
HtmlSelect select = page.getElementById(mySelectId);
应该是:
HtmlSelect select = (HtmlSelect)page.getElementById(mySelectId);
答案 2 :(得分: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);
}