#java #selenium #selenium-webdriver
#java #selenium #selenium-webdriver
Вопрос:
Я автоматизирую задачу с помощью Selenium, в которой при автоматизации длинных сценариев срок действия моего сеанса истек, и страница автоматически переходит на страницу входа в систему (разработчик поддерживает сеанс страницы в течение 60 минут на стороне сервера) .). Пожалуйста, подскажите мне, есть ли какой-либо способ поддерживать сеанс до тех пор, пока мой скрипт продолжает работать.
Я пытался использовать файлы cookie, но на выходе получено значение null, похоже, у меня это не работает.
enter code here
driver.get(url);
Set<Cookie> cookies =driver.manage().getCookies();
System.out.println("Cookies" driver.manage().getCookies().toString());
for(Cookie ck : driver.manage().getCookies())
{
System.out.println((ck.getName() ";" ck.getValue() ";" ck.getDomain() ";" ck.getPath() ";" ck.getExpiry() ";" ck.isSecure()));
}
Комментарии:
1. Может ли сеанс поддерживаться в браузере (за пределами Selenium) дольше 60 секунд? Если нет, то вы ничего не сможете сделать, поскольку это то, что контролируется сервером. Если это так, вам нужно предоставить больше контекста — например, вывод кода, которым вы поделились в своем вопросе.
2. Одна важная вещь. Selenium по умолчанию использует новый временный профиль браузера для каждого запуска. Это означает, что при уничтожении экземпляра webdriver все файлы cookie из этого сеанса исчезают. Чтобы избежать такого поведения, используйте существующий профиль браузера.