Авторизация с Selenium WebDriver через cookie

419
01 февраля 2018, 18:13

Необходимо реализовать авторизацию с Selenium WebDriver так что-бы не вводить логин и пароль для сайтов каждый раз при запуске. Тоесть нужно сэмитировать хранение логинов в менеджере паролей и куках.

Как результат должно получиться, что при открытии сайта получалось что вход уже выполнен, как это бывает при открытии обычного браузера на сайтах где уже авторизировался и сохранил пару логин/пароль.

Возможно ли это, и если да, то как? Спасибо.

Пробовал так, но не работает:

WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.ru/");
driver.manage().addCookie(new Cookie("Username", "myLoginValue", "www.google.ru", "/", null));
driver.manage().addCookie(new Cookie("Password", "myPasswordValue", "www.google.ru", "/", null));
Answer 1

Судя по всему, у вас не работает, потому что вы передаете дату как null. Попробуйте сделать так - один раз зайдите, заберите все куки, сохраните их в файл (например) и потом доставайте оттуда. Т.е. будет примерно так

первый запуск

WebDriver driver = new FirefoxDriver();
//login
Set<Cookie> cookies = driver.manage().getCookies();
saveToFile(new File("/path/to/file), cookies);
driver.quit();

И потом просто парсите файл и собирайте куки.

READ ALSO
Параметр ServletContextHandler.SESSIONS в Jetty

Параметр ServletContextHandler.SESSIONS в Jetty

ЗдравствуйтеПодскажите, пожалуйста, на что влияет параметр options конструктора ServletContextHandler(int options)

253
Spring Boot: Hibernate не рисует таблицы

Spring Boot: Hibernate не рисует таблицы

Собираю первый проект на Spring Boot

363
Android область видимости и взаимодействия

Android область видимости и взаимодействия

У меня есть одна функция которая работает как сервис, но она не срабатывает, я не могу понять почемуВот код функции:

235