首页 > 解决方案 > Htmlunit 用 javascript 填写表单

问题描述

我想填写https://login.live.com/表格,但我不能。我不想使用 Chromium 嵌入式框架或 java Selenium。因为他们打开了浏览器。有没有办法在不打开浏览器的情况下做到这一点?

我尝试了 HtmlUnit,但出现了 javascript 问题:

WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setJavaScriptEnabled(true);
final HtmlPage page1 = webClient.getPage("https://login.live.com/en");

final HtmlForm form = (HtmlForm) page1.getElementById("i0281");

final HtmlTextInput textField = form.getInputByName("loginfmt");
textField.setValueAttribute("email");

错误信息:

线程“主”com.gargoylesoftware.htmlunit.ElementNotFoundException 中的异常:com.gargoylesoftware.htmlunit.html.HtmlForm.getInputByName(HtmlForm.java:572) 处的 elementName=[input] attributeName=[name] attributeValue=[loginfmt]

它可以在没有 javascript 的情况下工作 html 页面。

如果你不想要代码,你可以给我一些提示。你可以使用这个,或者你可以谷歌这个框架等......

谢谢

标签: javahtmlunit

解决方案


推荐阅读