Сценарий: открыто 2 окна.Когда я нажимаю кнопку во втором окне, открывается третье окно, и фокус автоматически перемещается в третье окно.В 3-м окне появляется предупреждение для принятия.
Проблема: я не могу принять предупреждение, поскольку оно поступает в другом окне.
Выводы: я думаю, что это ограничение Selenium,Если предупреждение приходит в том же окне, где нажата кнопка, у нас есть DOM, поэтому мы можем взаимодействовать с предупреждением.Но в этом случае предупреждение находится в другом окне, поэтому состояние браузера заблокировано.
Пробное решение: опробованы все возможные способы с использованием javascript, класса действий selenium и т. Д., Но оно не работает.
некоторые из опробованных методов приведены ниже
//e.click();
/*Actions ac = new Actions(driver);
ac.sendKeys(Keys.ENTER).build().perform();*/
String onClickScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('click', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject){ arguments[0].fireEvent('onclick');}";
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript(onClickScript, e);
/* Actions asd = new Actions(driver);
asd.clickAndHold(e).perform();
Thread.sleep(1000);
asd.release().perform();*/