selenium问题在子窗口上找不到元素

sqserrrh  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(329)

这个问题在这里已经有了答案

使用selenium的windowhandles跟踪和遍历选项卡和窗口的最佳方法(1个答案)
9天前关门了。
我有问题,我无法切换到子窗口,例如在jira上,当我尝试发送密钥时,它会说:

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#summary"}

我也试过了,但没用?

String MainWindow=driver.getWindowHandle();

    Set<String> s1=driver.getWindowHandles();
    Iterator<String> i1=s1.iterator();

    while(i1.hasNext()) {
        String ChildWindow = i1.next();

        if (!MainWindow.equalsIgnoreCase(ChildWindow)) {

            // Switching to Child window
            driver.switchTo().window(ChildWindow);
            driver.findElement(By.id("summary"))
                    .sendKeys("Setup for Jira ticket");
        }
    }

   WebElement summary = driver.findElement(By.id("summary"));
    summary.sendKeys("Setup on Jira ticket");

我只需要在这个新窗口发送钥匙。
你知道解决办法吗?请在附件中找到图片,这个弹出的i子窗口,我想在那里发送密钥,点击等。。形象

x7yiwoj4

x7yiwoj41#

Set<String> handlesSet = driver.getWindowHandles();
Object[] handles = handlesSet.toArray();        
childWin1=handles[1];
driver.switchTo().window(childWin1)
driver.findElement(By.id("summary")).sendKeys("Setup for Jira ticket");

您可以看到哪个句柄是正确的窗口会话,通常它是数组中的最后一个,因此我们使用handles.length-1

相关问题