Я пытаюсь использовать HtmlUnit в Java для очистки веб-страницы с помощью Javascript. Страница называется Laundryview, которая позволяет выбрать место, в котором они используют белье, чтобы увидеть состояние машин. Я выберу случайную для тестирования, чтобы не самому делать doxx.
import com.gargoylesoftware.htmlunit. ;
import com.gargoylesoftware.htmlunit.html. ;
открытый класс LearningJsoup {
public static void main(String[] args) throws IOException, FailingHttpStatusCodeException, MalformedURLException{
String url = "https://www.laundryview.com/home/4099/4595541";
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_45);
webClient.getOptions().setCssEnabled(true);
webClient.setCssErrorHandler(new SilentCssErrorHandler());
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setRedirectEnabled(false);
webClient.getOptions().setAppletEnabled(false);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setPopupBlockerEnabled(true);
webClient.getOptions().setTimeout(5000);
webClient.getOptions().setPrintContentOnFailingStatusCode(false);
HtmlPage myPage = null;
try {
myPage = (HtmlPage) webClient.getPage(url);
webClient.waitForBackgroundJavaScript(2000);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(myPage.asText());
Это то, что у меня сейчас есть. Я заметил, что распечатанный текст не отображает информацию Javascript, содержащую состояние компьютеров и их оставшееся время. Когда я использую этот код на другом веб-сайте, содержащем Javascript, например https://www.premierleague.com/match/14252 или https://www.w3schools.com/angular/angular_application.asp, печатная информация содержит текст Javascript. Есть идеи, как это сделать? Я начинаю сомневаться в том, что информация с веб-страницы Laundryview, которую я хотел, была вообще удобна для чтения с помощью htmlUnit, но, читая исходный код страницы, она, похоже, была написана на Angular. Спасибо!