How to use HtmlUnit in Java to select an element from a drop down box?

Peter picture Peter · Feb 1, 2011 · Viewed 19.9k times · Source

I'm using HtmlUnit in Java to navigate to a web page. From that webpage i need to log in and then go from there. I know how to type in the user name and password but then there is a dropdown box where i need to select one of the options. How do i select an option from a dropdown box in HtmlUnit? Thanks

Answer

skaffman picture skaffman · Feb 1, 2011

You can navigate and manipulate the page <select> elements using HtmlSelect:

WebClient client = ...
Page page = client.getPage(url);
HtmlSelect select = (HtmlSelect) page.getElementById(mySelectId);
HtmlOption option = select.getOptionByValue(desiredOptionValue);
select.setSelectedAttribute(option, true);

The JavaDoc shows that there are a lot of flexible API methods for doing things like this.