我想在Java控制台应用程序中加载网页,填写一些文本字段,然后单击提交按钮提交。有没有可用的Java库?
之前我曾尝试使用Java程序中的powershell加载IE对象。它在某些情况下运行良好,但在加载具有多个iframe的网页时遇到了一些问题,所以我不得不放弃这种方法,并尝试用Java完全考虑解决方案。
答案 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。