2013-06-17 2 views
2

Попытка использовать метод ieDriver.switchTo().window(windowHandle) для переключения во всплывающее окно, но мой тестовый скрипт останавливается и не продолжается.Selenium ie driver не может переключиться на всплывающее окно окна

Когда я закрываю окно вручную я получаю ошибку

org.openqa.selenium.NoSuchWindowException: Unable to get browser 

Я знаю, что существует окно, потому что я использовал метод ieDriver.getWindowHandles() для его получения.

Все мои настройки защищенного режима одинаковы, я даже пытался использовать технику 'INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS' безрезультатно. Любые другие предложения?

Я бегу селен 2.32.0 с IE9 на машине Windows 7.

+0

Как создается всплывающее окно? – Arran

+0

Можете ли вы показать код, в котором создается 'windowHandle'? –

+0

Вы пробовали другой способ решения этого? Возможно, нажатие ALT + TAB даст вам желаемый результат. Я мог бы помочь вам в Ruby, но я ничего не знаю о Java. Просто предлагаю другое решение .. –

ответ

1

Над кодом для обработки всплывающих окон окна. Если вы хотите обрабатывать JavaScript всплывающие окна, как предупреждения, или confrmation всплывающее окно, вам нужно использовать

driver.SwitchTo.alert() принимают().

или

driver.SwitchTo.alert() отклонить().

надеюсь, это поможет

0

возможно всплывающее окно генерируется с IFRAME, то вы должны использовать switchTo.frame();

0

Вы должны сделать что-то вроде:

WebDriverWait webDriverWait= new WebDriverWait(driver, 5000); 
    webDriverWait.until(ExpectedConditions.alertIsPresent()); 
    driver.switchTo().alert().accept(); 

Сначала вы будете инициализировать объект WebDriverWait, который позволит вам ждать, пока некоторое условие не будет выполнено, в данном случае - предупреждение присутствует. Затем драйвер будет переключен на это оповещение,

Смежные вопросы