使用java进行Javascript警报处理

时间:2011-02-16 06:12:03

标签: java

我想知道如何使用Java实际处理Java脚本警报。我的意思是说如何在点击特定链接时通过Java代码接受JavaScript警报......如果可能,请尽快告诉我......

谢谢..

维杰

3 个答案:

答案 0 :(得分:1)

@Test
public void alerts() throws Exception {

    final WebClient webClient = new WebClient();

    final List collectedAlerts = new ArrayList();
    webClient.setAlertHandler(new CollectingAlertHandler(collectedAlerts));

    // Since we aren't actually manipulating the page, we don't assign
    // it to a variable - it's enough to know that it loaded.
    webClient.getPage("http://tciludev01/test.html");

    final List expectedAlerts = Collections.singletonList("foo");
    assertEquals(expectedAlerts, collectedAlerts);
}

refferer http://htmlunit.sourceforge.net/javascript-howto.html

答案 1 :(得分:0)

如果你想避免离开页面,例如,用户输入一些错误或需要验证的文本,你想在服务器上做这项工作,那么你应该研究一下AJAX(异步javascript)将允许您在后台向服务器发送请求。有很多好书。

如果您只想将表单提交到服务器并在某个javascript生成的事件(也就是警报)上重新加载页面,那么您应该考虑制作一个window.location('http:// yourdomain。 com& addSome = variables& toThe = urlString')从javascript内调用。或者,您也可以使用javascript提交隐藏的表单(如果您有许多变量,则更好一点)。

请记住,javascript是在浏览器中发生的代码。它与服务器无关。服务器上发生的任何事情都必须响应来自浏览器的请求而发生。无论是请求的新页面,还是幕后的AJAX请求都取决于您(在这两种情况下,都会从浏览器向服务器生成HTTP请求)。

答案 2 :(得分:0)

我不确定是否可以通过跨平台方式使用Java来实现这一点。

在测试自动化中,我们使用了AutoHotkey工具用于Windows,它运行良好。在AutoHotkey Wikipedia page上有针对Linux的类似项目的链接。

Here是关于AutoHotkey和Java程序之间交互的一些信息。