你好,我做了一个小的扫描应用程序,它可以扫描一个 url 列表。 现在我想让它与 url 一起工作,需要登录才能显示它们的内容,所以我必须先填写一些表格。 这是我的代码:
public class Scan1 {
public static void main(String... args) throws Exception {
String urlforsearching = "https://www.facebook.com";
URL oracle = new URL(urlforsearching);
System.setProperty("http.agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.29 Safari/537.36");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
}
}
我尝试在 google chrome 控制台上使用 javascript 命令登录,它们可以工作,但我不知道如何在 java 应用程序中实现它们。
document.getElementById('email').value="email"
document.getElementById('pass').value="pass"
document.forms[0].submit()
最佳答案
不幸的是,没有办法通过 Java 操作 HTML 页面的 DOM 树。根据您的任务,您可以选择不同的备选方案来实现您的目标。
如果您的想法是实现一个网络爬虫式程序,则无需实际填写表格。您可以通过编程方式向表单的目标 URL 发送 HTTP 请求,并提供正确的参数。例如,如果您有此表单:
<form target="login">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
您需要发送这样的请求<page root xml>/login?username=<some username>&password=<some password>
这将与在浏览器中填写表单并提交具有相同的效果。
希望对你有帮助
关于javascript - 如何在 Java 应用程序中验证 Html 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32338744/