我想知道如何使用Java实际处理Java脚本警报。我的意思是说如何在点击特定链接时通过Java代码接受JavaScript警报......如果可能,请尽快告诉我......
谢谢..
维杰
答案 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程序之间交互的一些信息。