Перейти к содержимому

sapr71

Регистрация: 07 июн 2019
Offline Активность: 02 сен 2019 13:49
*----

Мои темы

SELENIUM. JAVA. Как записать и читать Cookie из файла?

22 июня 2019 - 05:43

Selenium.

Chromedriver.

Java.

Версия chrome: Версия 75.0.3770.100 (Официальная сборка), (64 бит)

 

Объявляю переменную Set<Cookie> temp1 и присваиваю ей значение текущих cookie.

Блок-1

Set<Cookie> temp1;
temp1 = driver.manage().getCookies();

После чего мне нужно сохранить эту информацию в файл, что бы потом в определенный момент я мог ее считать из файла.

Блок-2

//Сохранение переменной temp1 в файл

//Загрузка в переменную temp2 информации из файла

Объявляю переменную Set<Cookie> temp2 в которую надо считать информацию из файла и после чего задать значение cookie из нее.

Блок-3

Set<Cookie> temp2;
driver.manage().addCookie(temp2);

Интересует именно Блок-2. Подскажите как сделать.


Selenium. Chromedriver. user-data-dir. Java. Как хранить Cookies?

22 июня 2019 - 01:31

Версия chrome: Версия 75.0.3770.100 (Официальная сборка), (64 бит)

 

Работаю с Chromedriver Headless. Мне нужно хранить где-то куки, что бы после закрытия браузера они не терялись. Пробовал использовать chrome с параметром user-data-dir. Все вроде нормально, создает файлы с настройками и куками в указанной папке и пока сервер работает он берет оттуда куки и записывает их. Но после перезагрузки драйвера он перезаписывает файлы и уже не видит старые куки и создает новые. 

 

 

 

Для проверки создал на локальном сервере вот такой скрипт ( http://test-cookies.local/test.php )

<?php setcookie ("TestCookie", 'COOKIES',time()+3600); ?>
<title>КУКИ : <?php print $_COOKIE['TestCookie']; ?> </title>

Выполняю в selenium (java) вот такой код и вижу что куки он не загружает после перезагрузки

System.setProperty("webdriver.chrome.driver", "drivers\\chromedriver.exe");

ChromeOptions options = new ChromeOptions();

options.addArguments("--user-data-dir=c:\\Users\\lexa\\IdeaProjects\\project\\user1\\");

options.setHeadless(true);

WebDriver driver = new ChromeDriver(options);

driver.get("http://test-cookies.local/test.php");

System.out.println(driver.getTitle());

driver.quit();

Подскажите, может есть какие-нибудь другие решения, что бы куки сохранялись или может я что то не так делаю?

 

 

 

 


ОШИБКА. Selenium, Facebook WebDriver, PHP.

07 июня 2019 - 01:43

Добрый день! Пытаюсь разобраться с selenium.

 

Использую: selenium-server-standalone-3.9.1 и Facebook WebDriver.

 

 
При выполнении этого кода, все норм. Открывается в хроме страница гугл.

<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver->get('https://www.google.com/');
print 'ok';
?>

 

А вот если добавляем строку : $driver->findElement(WebDriverBy::xpath('*[@id="tsf"]/div[2]/div/div[3]/center/input[2]'))->sendKeys('abc')->click();

<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver->get('https://www.google.com/');
$driver->findElement(WebDriverBy::xpath('*[@id="tsf"]/div[2]/div/div[3]/center/input[2]'))->sendKeys('abc')->click();
print 'ok';
?>

 
 
То вылетает ошибка вот такая:

Fatal error: Uncaught Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"*[@id="tsf"]/div[2]/div/div[3]/center/input[2]"} (Session info: chrome=75.0.3770.80) For documentation on this error, please visit: http://seleniumhq.or...ch_element.html Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:42:28.403Z' System info: host: 'OBR-PC', ip: '192.168.100.104', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_211' Driver info: driver.version: unknown in C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php:102 Stack trace: #0 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\HttpCommandExecutor.php(326): Facebook\WebDriver\Exception\WebDriverException::throwException(7, 'no such element...', Array) #1 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php(547): Facebook\WebDriver\Remote\HttpCommandExecutor->execute(Object(Facebook\WebD in [/size] C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php on line [/size]102

 
 
Подскажите как быть, вчера весь день убил на поиск решения, так и не разобрался((
 
 
В качестве руководства использовал вот эту статью: http://kaplunenko.na...ake-screenshot/