Java或Javascript中的窗口对话框和弹出窗口处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java或Javascript中的窗口对话框和弹出窗口处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1878字,纯文字阅读大概需要3分钟。
内容图文
我需要操纵Popups&使用Java或Java的IE浏览器的下载对话框
基于Java的自动化解决方案.
我尝试了selenium2,但是它不能正常工作,因此其他建议也一样.
实际上selenium2不能正确处理警报/下载对话框,因此
我正在考虑使用其他一些javascript / java解决方案.
使用“下载对话框”:我需要将下载的文件保存到特定位置.
使用“警报对话框”:我需要检查显示的消息并单击特定按钮.
任何建议表示赞赏.
谢谢.
解决方法:
我使用硒1,它可以很好地处理我的应用程序中的弹出窗口.
//Click on browse file button, open a popup
selenium.click("//input[@value='Browse...']");
//waiting for popup to load
selenium.waitForPopUp("_Dialog", "30000");
//selecting the popup by passing window name
selenium.selectWindow("name=_Dialog");
//click a link inside pop up window
selenium.click("link=something");
//Put other popup operations here
//click cancel button for pop up
selenium.click("cancel");
//back to main window
selenium.selectwindow("null")
要从警报框中获取消息,请使用selenium.getAlert();.这将以字符串形式返回警报框中包含的消息.
另外,有时需要在切换到警报之前检查是否已发生警报.
int noofWindows = selenium.getAllWindowNames().length;
if (noofWindows > 1){
//selects the second window
selenium.selectWindow(selenium.getAllWindowIds()[2]);
//Prints the message in the alert window
System.out.println(selenium.getAlert());
}
如果不需要在IE中运行测试,请在执行代码之前使用firefox(* chrome)并关闭所有其他窗口.
我希望这可以帮助你.
*所有提及的代码均用于处理JavaScript弹出窗口.我不确定这是否适用于Vb脚本.
编辑
我认为IE下载弹出窗口是Windows事件,因此无法直接由Selenium处理,为此,您必须使用Java AWT或AutoIT.
AutoIT脚本应该类似于
WinWaitActive(windowTitle)
ControlClick(windowTitle,"",buttonName)
并将其另存为IEsave.exe.注意:我没有尝试过此AutoIT脚本.
现在您已经从程序中执行IEsave.exe.我在这里使用Java.
java.lang.Runtime.getRuntime().exec("c:/IEsave.exe");
这将执行文件,该文件将依次处理Windows的保存按钮事件.
您可以创建类似的exe文件来处理其他窗口的事件.
希望这能解决您的问题.
内容总结
以上是互联网集市为您收集整理的Java或Javascript中的窗口对话框和弹出窗口处理全部内容,希望文章能够帮你解决Java或Javascript中的窗口对话框和弹出窗口处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。