如何在java控制台应用程序中加载网页并以编程方式单击该网页中的按钮?

时间:2014-09-17 07:12:19

标签: java

我想在Java控制台应用程序中加载网页,填写一些文本字段,然后单击提交按钮提交。有没有可用的Java库?

之前我曾尝试使用Java程序中的powershell加载IE对象。它在某些情况下运行良好,但在加载具有多个iframe的网页时遇到了一些问题,所以我不得不放弃这种方法,并尝试用Java完全考虑解决方案。

2 个答案:

答案 0 :(得分:1)

您可以使用像http://htmlunit.sourceforge.net/这样的测试库,它可以自动化网页上的点击等。

或者,你可以直接用Java发送想要的HTTP请求(本来可以在浏览器中发送)。

答案 1 :(得分:1)

只需使用Selenium,这是自动化浏览器互动的常用方式。

您只需创建一个WebDriver

WebDriver driver = new InternetExplorerDriver();

导航到页面:

driver.get("http://google.com");

您可以按id选择元素:

WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

按班级:

List<WebElement> cheeses = driver.findElements(By.className("cheese"));

如果上述两种方法不适合您,甚至可以通过XPath:

List<WebElement> inputs = driver.findElements(By.xpath("//input"));

还有许多其他方法可以在页面上查找元素并与页面进行交互。这些例子都取自我建议您阅读的Selenium Documentation