Selenium Webdriver. При переходе на frame ошибка NoSuchFrameException

171
30 июня 2018, 14:30

Подскажите пожалуйста, как исправить ошибку при переходе на фрейм ошибка. Как можно при нажатии на кнопку перейти на другую вкладку? Браузер хром.

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;

public class SbrfTest {
    WebDriver driver;
    String baseUrl;

    @Before
    public void beforeTest() {
        //Создаем объект веб-драйвера для хрома
        System.setProperty("webdriver.chrome.driver", "drv/chromedriver.exe");
        baseUrl="http://www.sberbank.ru/ru/person";
        //Создаем экземпляр драйвера
        driver = new ChromeDriver();
        //Неявное ожидание
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        //Разворачиваем окно на весь экран
        driver.manage().window().maximize();
        driver.get(baseUrl);
    }
    @Test
    public void testSbrf () {
        driver.findElement(By.xpath("//li//span[contains(text(),'Страхование')]")).click();
        driver.findElement(By.xpath("//li//a[contains(text(), 'Путешествия и покупки')]")).click();
        WebElement title = driver.findElement(By.xpath("//div//h3[contains(text(), 'Страхование путешественников')]"));
        Assert.assertEquals("Страхование путешественников", title.getText());
        driver.findElement(By.linkText("Оформить онлайн")).click();
        driver.switchTo().frame("//*[contains(text(), 'Сбербанк страхование')]");
       // driver.findElement(By.xpath("//div//div//p//a[contains(text(),'Оформить онлайн')]")).click();
    }
    @After
    public void afterTest() {
        //Закрыть браузер
        driver.quit();
    }
}
READ ALSO
Как посчитать сложность алгоритма?

Как посчитать сложность алгоритма?

Исходные данные: файл, с одной единственной колонкой, в которой находятся числа от 0 до IntegerMAX_INT

237
Как объединить 2 интерфейса?

Как объединить 2 интерфейса?

Как видно, оба элемента делают одно и тоже, как объединить этот код, чтобы красиво смотрелось и читалось

201
Не понимаю как передаются байты с консоли в программу

Не понимаю как передаются байты с консоли в программу

Объясните, пожалуйста, почему, если я буду нажимать следующие клавиши по очереди: {a,enter,b,enter,q, enter}, то я увижу ужасно странный вывод, который...

210
Переход страницы после регистрации Android Studio

Переход страницы после регистрации Android Studio

Нужна помощь! Как сделать переход на чистую страницу после того, как пользователь полностью зарегистрировался в приложении? То есть если...

203