Общие куки для всех браузеров selenium

370
22 января 2017, 14:29

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

FirefoxDriver driver = new FirefoxDriver();

Добавление куков первого браузера ко второму работает некорректно, при передаче определенных куков кидает ошибку.

driver.manage().getCookies().forEach(c -> driver2.manage.addCookie(c));

Как селениуму дать понять, что он должен использовать общий файл с куками (или где они хранятся)? Спасибо!

Answer 1

Пример ответа уже существует в англоязычном SO:

var driver1 = new FirefoxDriver();
driver1.Navigate().GoToUrl("http://www.html-kit.com/tools/cookietester/");
driver1.FindElementByXPath("//input[@value=\"Set Test Cookie\"]").Click();
var driver2 = new FirefoxDriver();
driver2.Navigate().GoToUrl("http://www.html-kit.com/tools/cookietester/");
// Copy cookies from one driver to the other
foreach (Cookie c in driver1.Manage().Cookies.AllCookies)
{
driver2.Manage().Cookies.AddCookie(new Cookie(c.Name, c.Value,   c.Domain.TrimStart('.'), c.Path, c.Expiry));
}
driver2.Navigate().Refresh();

Как там сказано, проблема с cookies может быть только если ваши драйверах идут на другие домены, и в этом случае такие шаги помогут вам скопировать cookies правильно:

Driver1: Navigate to SiteA Driver1: Login Driver2: Navigate to SiteA Copy cookies from Driver1 to Driver2 Driver2: Refresh (Should be logged in now) Driver2: Navigate to SiteB

Answer 2

Решил проблему иначе, создал профиль в Firefox, в котором залогинился на нужном сайте и для каждого объекта FirefoxDriver использую этот профиль.

READ ALSO
Андроид проблемы с fragment

Андроид проблемы с fragment

ЗдравствуйтеИмеются два фрагмента А и Б

369
Парсинг json файла из json

Парсинг json файла из json

Есть json файл, данные которого после парсинга выводятсяОдин из объектов хранит в себе ссылку на другой json-файл

373
Как обновить JavaFX API?

Как обновить JavaFX API?

Привет всем! Только начинаю знакомиться с JavaFX и обнаружил множество проблем связанных с нимВо время сборки приложения в среде IDEA, в консоли...

677
Озвучка текста из строки (Java)

Озвучка текста из строки (Java)

Каким образом можно реализовать озвучку строки (из того же NetBeans под Windows,не под Android!) при помощи встроенного синтезатора речи Android

691