Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使用HtmlUnit从下拉框中选择元素?_Java_Htmlunit - Fatal编程技术网

如何在Java中使用HtmlUnit从下拉框中选择元素?

如何在Java中使用HtmlUnit从下拉框中选择元素?,java,htmlunit,Java,Htmlunit,我在Java中使用HtmlUnit导航到一个网页。从那个网页我需要登录,然后从那里去。我知道如何输入用户名和密码,但是有一个下拉框,我需要在其中选择一个选项。如何从HtmlUnit的下拉框中选择选项? 谢谢您可以使用HtmlSelect导航和操作页面元素: WebClient client = ... Page page = client.getPage(url); HtmlSelect select = (HtmlSelect) page.getElementById(mySelectId);

我在Java中使用HtmlUnit导航到一个网页。从那个网页我需要登录,然后从那里去。我知道如何输入用户名和密码,但是有一个下拉框,我需要在其中选择一个选项。如何从HtmlUnit的下拉框中选择选项?
谢谢

您可以使用
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);
}