Не удается найти элемент при переключении в iframe? - PullRequest
0 голосов
/ 28 ноября 2018
  1. Пытаясь выполнить вход через Facebook через учетную запись наград после входа в систему, я получаю iframe, чтобы связать пользователя с учетной записью наград, использую обработчик окна, чтобы найти всплывающее окно Facebook из этого фрейма, затем он закрывается после входа в систему, и я возвращаюсь в iframeно не удается найти элемент в родительском окне (iframe), когда я переключаюсь назад, я не получаю такой элемент
  2. ошибка:

org.openqa.selenium.NoSuchElementException: нет такого элемента: невозможно найти элемент: {"method": "xpath", "selector": "// * [@ id = 'errorData']"}

используемый код

public void amberLoginWithFacebook(String username, String pass) throws InterruptedException {

actions.driver.switchTo().defaultContent();
actions.driver.switchTo().frame(0);
actions.clickOn(By.cssSelector(facebookBtn));
Thread.sleep(2000);
Set<String> handler = actions.driver.getWindowHandles();
Iterator<String> loop = handler.iterator();
String parentWindow = loop.next();
String childWindow = loop.next();
actions.driver.switchTo().window(childWindow);
if (actions.driver.getTitle().toLowerCase().equals(facebookWindowTitle)) {
actions.setText(By.cssSelector(facebookEmail), username);
actions.setText(By.cssSelector(facebookPass), pass);
actions.clickOn(By.cssSelector(facebookLoginBtn));
Thread.sleep(2000);

}

actions.driver.switchTo().window(parentWindow);
// i get the exception here 
if (actions.waitUntil(By.xpath("NonlinkedAccountError"), "presenceOfElement") != null)
{setCountryCode(properties.getProperty("CountryCode"));
setPhone(properties.getProperty("phone"));
actions.clickOn(By.xpath(defaultBtn));
actions.clickOn(By.xpath(enterEmail));
setEmail(properties.getProperty("email"));
}

Снимок экрана для кадра

...