1

我正在使用 InternetExplorerDriver(我必须这样做)。我有两个窗把手。我必须在这些窗口之间切换多次。我使用这两行来做到这一点。

driver.switchTo().window(myWindowHandle1);
driver.findElement(By.xpath("//body")).click();

我添加了点击主体,否则有时开关无法正常工作,从那时起这对我来说很好。

现在我有一个新问题。我的第三个窗口开关(1. window1 -> window2; 2. window2 -> window1; 3. window1 -> window2;)不再起作用。

ElementNotVisibleException: Cannot click on element --- in this case, line 2

所以身体已经看不见了。以前的窗口开关工作得很好,所以手柄是正确的。找到正文元素 By.tagName 并没有解决问题。有人有同样的问题吗?解决方案?

提前致谢

问候

4

1 回答 1

0

终于找到答案了,我用下面的方法切换到新窗口,

public String switchwindow(String object, String data){
        try {

        String winHandleBefore = driver.getWindowHandle();

        for(String winHandle : driver.getWindowHandles()){
            driver.switchTo().window(winHandle);
        }
        }catch(Exception e){
        return Constants.KEYWORD_FAIL+ "Unable to Switch Window" + e.getMessage();
        }
        return Constants.KEYWORD_PASS;
        }

要移动到父窗口,我使用了以下代码,

 public String switchwindowback(String object, String data){
            try {
                String winHandleBefore = driver.getWindowHandle();
                driver.close(); 
                //Switch back to original browser (first window)
                driver.switchTo().window(winHandleBefore);
                //continue with original browser (first window)
            }catch(Exception e){
            return Constants.KEYWORD_FAIL+ "Unable to Switch to main window" + e.getMessage();
            }
            return Constants.KEYWORD_PASS;
            }

使用此代码在窗口之间切换。

于 2013-10-02T11:56:46.887 回答