我正在使用HtmlUnit监视网页,但似乎无法获取主要内容中的元素。我怀疑是因为该页面是使用Vue.js呈现的。
这是我正在监视的页面,我想在
这是我使用page.asXml()打印页面时的输出。
这是我正在使用的WebClient代码,已经启用了JavaScript。
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
WebClient webClient = new WebClient();
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.setJavaScriptErrorListener(new SilenceJavaScriptErrorListner());
webClient.setCssErrorHandler(new SilentCssErrorHandler());
这是函数内部的代码,在返回之前,我要等待
HtmlPage page = (HtmlPage) webClient.getCurrentWindow().getEnclosedPage();
webClient.waitForBackgroundJavaScript(10000);
for (int i = 0; i < 10; i++) {
page = (HtmlPage) webClient.getCurrentWindow().getEnclosedPage();
webClient.waitForBackgroundJavaScript(10000);
log.info("Current page \n" + page.asXml());
List<Object> quoteNumberOptionList = page.getByXPath("someXPath");
if (quoteNumberOptionList.size() > 0) {
break;
}
Thread.sleep(5000);
}
答案 0 :(得分:0)
由于您在上面的评论中提到您无法共享URL(而且无论如何它都可能无法公开访问),因此我在这里做了一些撰写,可以为您提供帮助Parsing web javascript content to string using android < / p>