我有一个Java 7程序(使用WebStart技术,仅适用于Windows 7/8计算机)。
我需要添加一个函数,以便我的程序单击具有已知URL(https)的页面上的按钮。
有人建议使用WebKit
SWT,但我去了他们的网站,他们说该项目已终止。(http://www.genuitec.com/about/labs.html)
其他人说,JxBrowser是唯一的选择,但是看起来它已经超过1300美元,这太疯狂了。(http://www.teamdev.com/jxbrowser/onlinedemo/)
我正在寻找一种简单,免费,轻便,能够打开HTTPS链接,解析HTML,通过DOM访问按钮并单击它的东西。如果有JS处理程序,也许还有一些JavaScript。
谢谢你的帮助。
您可能正在寻找HtmlUnit-一种 “用于Java程序的无GUI浏览器” 。
这是打开的示例代码,使用该表单进行google.com
搜索"htmlunit"
并打印结果数。
import com.gargoylesoftware.htmlunit.*;
import com.gargoylesoftware.htmlunit.html.*;
public class HtmlUnitFormExample {
public static void main(String[] args) throws Exception {
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://www.google.com");
HtmlInput searchBox = page.getElementByName("q");
searchBox.setValueAttribute("htmlunit");
HtmlSubmitInput googleSearchSubmitButton =
page.getElementByName("btnG"); // sometimes it's "btnK"
page=googleSearchSubmitButton.click();
HtmlDivision resultStatsDiv =
page.getFirstByXPath("//div[@id='resultStats']");
System.out.println(resultStatsDiv.asText()); // About 309,000 results
webClient.closeAllWindows();
}
}
其他选项是:
问题内容: 我想要的是发布需求,然后单击“ openTab”按钮,在新选项卡中打开响应html。无法使用来执行此操作。我认为这可能很简单,但是我找不到办法。 问题答案: 您可以使用$ window服务在此处在控制器中完成所有操作。$ window是全局浏览器对象窗口的包装。 为此,将$ window注入到控制器中,如下所示 重定向到动态路由时效果很好
问题内容: 我有一个netbeans Java应用程序,该应用程序在启动时应显示JFrame(StartUpWindow类扩展为JFrame类),并带有一些选项,然后用户单击一个按钮,然后关闭JFrame并打开一个新的(MainWindow类)。 因此,我该如何正确执行此操作。我显然在StartupWindow中的按钮上设置了一个单击处理程序,但是我应该在该处理程序中添加什么以便关闭StartUp
问题内容: 我正在尝试实施以下测试方案: 单击页面上的徽标 断言有一个新的浏览器窗口打开(Chrome中的选项卡)并检查当前URL 问题在于,在新浏览器窗口中打开的页面 是非角度页面, 而我正在执行单击操作的 主页 是 角度页面 。 这是我的第一次尝试: 失败与: 错误:等待量角器与页面同步时出错:“在窗口中找不到角度” 这是可以理解的。 我的第二次尝试是使用布尔标志: 实际上,这使该特定测试通过
我正在编写一个包含许多按钮的程序,当我单击其中一个按钮时,我希望它打开一个包含一些txt文件信息的JTextArea。我试图将JTextArea添加到按钮中,但它没有打开任何东西。我是Java新手,所以我不知道这是否是正确的方法。 我在GUI中定义了按钮和JTextArea 这是我在public void actionPerformed(ActionEvent e)中编写的代码
问题内容: 我需要自动单击网页中的任何“添加”按钮,如下所示: “ https://groceries.asda.com/search/yoghurt ” 但是,页面中的“添加”按钮都没有名称或ID。所以我不能使用Selenium包中的命令。 谁能帮我? 问题答案: 要单击特定产品的任何特定按钮,可以编写如下方法: 现在,您可以单击传递其标题的任何按钮,如下所示:
在我的程序中,它将单击浏览器中的一个按钮,并且在该页面中,应该会出现另一个按钮。出现该按钮后,我的程序将立即运行下一个操作来单击下一个按钮。我目前收到此错误: ElementNotVisibleException:消息:元素不可见 因此,我假设我正在调用该操作,以便在该按钮出现之前单击下一个按钮。我的问题是,我该怎么做才能让我的程序等到我可以点击按钮,再点击按钮? 这就是我的程序底部的代码的样子。