2015-02-04 3 views
0

Как обрабатывать модальное окно Selenium WebDriver, TestNG с ЯвыСелен WebDriver, TestNG с Java

Например: Load https://business.bell.ca/shop/small-business/ Нажмите на значок Share Через электронный под значком Facebook на правой стороне. Отображается модальное окно

Как обрабатывать это модальное окно, поскольку мне нужно снять снимок экрана этого модального окна?

ответ

1

Существует не модальное окно. Если вы пытаетесь нажать на Как, его под iframe. Для того, чтобы переключиться на него выполнить:

driver.findElement(By.cssSelector(".fui-icon.fui-icon-facebook")) 
     .click(); 
driver.switchTo().frame(
    driver.findElement(By.xpath("//iframe[@title='facebook']"))); 
driver.findElement(By.xpath("//span[.='Like']")).click(); 

и переключиться на facebook окно, которое следует сделать:

for (String winHandle : driver.getWindowHandles()) { 
    driver.switchTo().window(winHandle); 
} 

EDIT: К сожалению, это была моя ошибка, что я взял не получил то, что вы пытались спрашивать. В качестве обходного пути, если вы хотите взаимодействовать с модальным диалогом , вы можете использовать, изначально ожидая появления модального диалогового окна, и поскольку он находится только под областью верхнего окна, вы можете взаимодействовать с полями с помощью xpath или css, в зависимости от того, Вы предпочитаете. Пример кода для него с xpath будет:

driver.findElement(By.id("shareemail")).click(); 
new WebDriverWait(driver, 10).until(ExpectedConditions 
    .visibilityOfElementLocated(By 
     .xpath("//*[@id='emaillightboxmodaljs']"))); 
driver.findElement(
    By.xpath(".//*[@id='ui-id-3']/div/fieldset/div[1]/div[1]/input")) 
     .sendKeys("acd"); 
+0

Я задал вопрос относительно обработки ICON под значком Facebook. Я не могу снять снимок экрана этого модального окна, которое отображается после нажатия на значок сообщения. проясните, как управлять этим модальным окном. –

+0

Моя ошибка. Обновил ответ соответственно. Благодарю. и для снятия скриншота вы можете использовать метод getScreenshotAs, объявленный в интерфейсе TakesScreenshot. –

+0

Привет, Вивек спасибо за ваш ответ, это сработало для меня .. –

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