在我的结帐页面上,对于第三方付款提供商,在模型窗口中,我可以使用xpath找到所需的按钮,并且只显示一个按钮。但是,当我的自动化脚本正在运行时,它是单击另一个按钮,该按钮不在模型窗口中,而是与我想要的按钮位于同一位置,但在模型窗口的背景中。

最佳答案

Have you added the code to switch to this model window before clicking on the button?


 public void waitForNewWindowAndSwitchToIt(WebDriver driver) throws InterruptedException {
                String cHandle = driver.getWindowHandle();
                String newWindowHandle = null;
                Set<String> allWindowHandles = driver.getWindowHandles();

                //Wait for 20 seconds for the new window and throw exception if not found
                for (int i = 0; i < 20; i++) {
                    if (allWindowHandles.size() > 1) {
                        for (String allHandlers : allWindowHandles) {
                            if (!allHandlers.equals(cHandle))
                                newWindowHandle = allHandlers;
                        }
                        driver.switchTo().window(newWindowHandle);
                        break;
                    } else {
                        Thread.sleep(1000);
                    }
                }
                if (cHandle == newWindowHandle) {
                    throw new RuntimeException(
                            "Time out - No window found");
                }
            }

关于java - Selenium> Webdriver> Java>在模型窗口中单击按钮时,另一个背景按钮正在触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60767849/

10-08 22:26
查看更多