Я пытаюсь использовать HTMLUnit (впервые) для извлечения данных с определенных страниц.
В частности, в настоящее время я пытаюсь получить HTML-элемент по идентификатору (поле поиска).
Но я сталкиваюсь с:
Exception in thread "main" com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[*] attributeName=[id] attributeValue=[space_search_keyword]
at com.gargoylesoftware.htmlunit.html.HtmlPage.getHtmlElementById(HtmlPage.java:1547)
at com.gargoylesoftware.htmlunit.html.HtmlPage.getHtmlElementById(HtmlPage.java:1517)
at Test.main(Test.java:33)
Это мой код:
import java.util.List;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HTMLParserListener;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class Test {
public static void main(String[] args) {
HtmlPage page = null;
WebClient client = new WebClient();
client.setCssEnabled(false);
client.setJavaScriptEnabled(false);
try {
String searchUrl = "https://25live.collegenet.com/umassd/#space_search[0]";
page = client.getPage(searchUrl);
}catch(Exception e){
e.printStackTrace();
}
//System.out.println(page.asXml());
HtmlElement searchBox = (HtmlElement)page.getHtmlElementById("space_search_keyword");
}
}
При дальнейшей проверке с использованием page.asXML () кажется, что страница загружается неправильно, и поэтому не может найти элемент? Я не уверен, почему он не загружается для HTMLUnit. Вход в систему не требуется, вы можете увидеть страницу, созданную для себя, введя ее в браузере.
Любая помощь с отладкой подобных проблем HTMLUnit будет принята с благодарностью.