Selenium Webdriver在使用Java';s机器人类
我正在进行一个自动测试,需要在Internet Explorer中打开一个文档。该脚本工作得非常好,直到单击指向文档的链接后,才会启动讨厌的IE弹出窗口,如下图所示 因为我无法使用Webdriver关注窗口,所以我尝试使用Robot.java发送键“Alt+O”,这可以手动正常工作,但在执行时会在运行时死锁。我的假设是与Selenium/Robot.java存在一些不兼容的地方,但由于死锁,我无法生成任何日志,因此我在这个问题上遇到了难题。请不要建议使用AutoIT,因为我的安全分析师出于愚蠢的原因不会让我使用它。非常感谢您的帮助 工具:Selenium Webdriver在使用Java';s机器人类,java,selenium,webdriver,awtrobot,Java,Selenium,Webdriver,Awtrobot,我正在进行一个自动测试,需要在Internet Explorer中打开一个文档。该脚本工作得非常好,直到单击指向文档的链接后,才会启动讨厌的IE弹出窗口,如下图所示 因为我无法使用Webdriver关注窗口,所以我尝试使用Robot.java发送键“Alt+O”,这可以手动正常工作,但在执行时会在运行时死锁。我的假设是与Selenium/Robot.java存在一些不兼容的地方,但由于死锁,我无法生成任何日志,因此我在这个问题上遇到了难题。请不要建议使用AutoIT,因为我的安全分析师出于愚蠢
public class MyRobot {
private static Robot robot;
public static void sendVirtualKeyCombination(int... keyEvents) {
try {
robot = new Robot();
robot.setAutoDelay(1000);
// Press key combination
for (int keyEvent : keyEvents) {
System.out.println("Pressing " + KeyEvent.getKeyText(keyEvent));
robot.keyPress(keyEvent);
}
} catch (AWTException e) {
e.printStackTrace();
} finally {
// Release all keys
for (int keyEvent : keyEvents) {
System.out.println("Releasing " + KeyEvent.getKeyText(keyEvent));
robot.keyRelease(keyEvent);
}
}
}
}
MyRobot调用
MyRobot.sendVirtualKeyCombination(KeyEvent.VK_Alt, KeyEvent.VK_O);
试着在按键半秒钟后释放按键。该错误可能是由于按键和释放按键之间的延迟很小造成的
// Press key combination
for (int keyEvent : keyEvents) {
System.out.println("Pressing " + KeyEvent.getKeyText(keyEvent));
robot.keyPress(keyEvent);
}
thread.sleep(500)
for (int keyEvent : keyEvents) {
System.out.println("Releasing " + KeyEvent.getKeyText(keyEvent));
robot.keyRelease(keyEvent);
}
我在Firefox中也遇到了同样的问题。尝试使用线程。 启动两个线程,第一个用于打开弹出按钮。现在一切都冻结了。 现在,在第二个线程中放置一些等待并执行发送键
希望这能奏效 运气不好,还是一样的行为你试过延迟而不是睡觉吗?例如=机器人延迟(50)@赛琳娜·鲁奇就像我要接受赛琳娜·鲁奇的建议一样!只是开玩笑。。。我明天会试试,让你知道进展如何。谢谢