我常用的的处理模态窗口的方法(selenium 2)

主要思想: 使用Java Robot模拟键盘的回车 来替代 selenium的click操作.

1, 以如下的站点为例:https://developer.mozilla.org/samples/domref/showModalDialog.html

2, 当点击open a model dialog 按钮时, 会弹出模态窗口, 此时 按照通常的做法 便是使用 click操作,然后再switch to 弹出的窗口。 这样是行不通的, 因为click 那个button后 ,code被挂起了,这时候要等用户操作模态窗口完毕 才会继续执行下面的code。

3, 解决办法: 先使用sendkeys("") 定位到要点击的button上面,然后使用java robot类来模拟点击键盘的回车键, 如下:
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
Thread.sleep(500); //这里最好是等一下 时间根据实际情况来

然后就可以照常的去 getWindowHandles()来得到窗口的引用了,其他的照旧。 省略省略省略。。。

Hope it helps~!

你可能感兴趣的:(robot,model dialog)