【问题标题】:How can I load a webpage in a java console application and click a button in that webpage programatically?如何在 Java 控制台应用程序中加载网页并以编程方式单击该网页中的按钮?
【发布时间】:2014-09-17 07:12:19
【问题描述】:

我想在 Java 控制台应用程序中加载网页,填写一些文本字段,然后通过单击提交按钮提交。是否有任何 Java 库可用于执行此操作?

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

【问题讨论】:

  • L 是什么?是不是笔误?
  • 啊..我没注意到。

标签: java


【解决方案1】:

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

或者,您可以直接在 Java 中发送所需的 HTTP 请求(将在浏览器中发送)。

【讨论】:

  • 谢谢 .. 它看起来比我的 powershell 方法更好,但我不太担心它的依赖关系..
【解决方案2】:

只需使用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,我建议你阅读。

【讨论】:

  • 谢谢 Boris .. 我认为这是我正在寻找的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 2014-05-21
相关资源
最近更新 更多