现在的位置: 首页 > 综合 > 正文

如何找到新窗口并定位

2013年09月21日 ⁄ 综合 ⁄ 共 1371字 ⁄ 字号 评论关闭


貌似这个问题挺多,研究了一下,有以下心得(只讨论新窗口,同一个窗口可以用select_windows适用)。
   Normal  0        7.8 磅  0  2    false  false  false    EN-US  ZH-CN  X-NONE                                                            MicrosoftInternetExplorer4                                                                                                                                                                                                                                                                                                                        
first页面打开新的页面second,然后从second跳回first,同时second关闭。 

selenium.open("file:///D:/tmp/html/first.html");
selenium.click("//a[@href]");
      Thread.sleep(1000);
      String popID = selenium.getEval("{varwindowId;
for(var x in selenium.browserbot.openedWindows ) {windowId=x;}}"
);
      System.out.println("!!popID:" +popID);
selenium.selectWindow(popID);
       System.out.println("!!poptitle:"+selenium.getTitle());
selenium.click("//a[@href]");
selenium.selectWindow(null);

        System.out.println("!!poptitle:"+selenium.getTitle());
  重点是StringpopID = selenium.getEval("{var
windowId;for(var x in selenium.browserbot.openedWindows ) {windowId=x;}}"
);这个语句是嵌入到页面javascript去执行的,从javascript返回中获得新WindowsWindowsID;如果要跳转回去,那么就是selenium.selectWindow(null);上述代码在FirefoxIE中测试通过,其中IE可能要做一些设置:工具”->internet 选项”->“高级”->“安全”->"允许活动内容的文件在我的计算机中运行。
参考资料:selenium google group discussion

抱歉!评论已关闭.