如何通过点选Java中的按钮?
-
18-09-2019 - |
题
我想访问HTML网页throught的Java编程语言形式之间没有涉及真正的浏览器。
目前我通过 HTML部门但它需要更多的时间来加载页面做。当谈到访问数以百万计的页面,那么这个额外位时最重要的。
有没有这样做呢?
任何其他方法解决方案
我已经用类似的东西称为 httpunit的之前,但我不知道如何明智性能比较
如果你有百万的页面来处理,我会推荐它抛出一些更多的线程。只是一个猜测,但我认为,如果你扩展这个长达多个线程,你会耗尽带宽,你用完了CPU供电的之前(在这种情况下,它不会不管如何更快它可能是)
其他提示
访问网页使用浏览器,甚至的HtmlUnit,将是缓慢的。更好的方法是先测试该层正下方的Web界面,这样你就不需要访问数百万页面 - 而不是你足够的测试,以确保Web界面正确使用下层
大多数浏览器相互作用的归结为一个HTTP GET或HTTP POST。 你需要准确地计算出你所需要的操作,然后你就可以构造URL和/或表单数据。 然后你可以使用这样的事情:
try {
//Construct data
String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8"); data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
// Send data
URL url = new URL("http://hostname:80/cgi");
URLConnection conn = url.openConnection(); conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line; while ((line = rd.readLine()) != null) {
// Process line... }
wr.close();
rd.close();
} catch (Exception e) { }
不隶属于 StackOverflow