在我的结帐页面上,对于第三方付款提供商,在模型窗口中,我可以使用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/