Python: итерация передачи файлов cookie из сеанса запросов в Selenium - PullRequest
2 голосов
/ 07 марта 2019

У меня проблема с передачей файлов cookie из сеанса запросов в Selenium WebDriver.

В качестве WebDriver я использую chromedriver.

for c in r.cookies:
    driver.add_cookie({'name': c.name, 'value': c.value,'path': c.path, 'expiry': c.expires})

driver.get("https://www.bstn.com/de/cart")

Теперь похоже, что итерация не передает все файлы cookie.Я вижу это, потому что моя корзина на bstn.com пуста.

Когда я кодирую это следующим образом:

for c in r.cookies:
    driver.add_cookie({'name': c.name, 'value': c.value,'path': c.path, 'expiry': c.expires})
    driver.get("https://www.bstn.com/de/cart")

Браузер вызывает сайт примерно 10 раз.В конце концов, я могу получить доступ к своей корзине и увидеть элемент в корзине.

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

Спасибо за любые предложения.

Макс.

1 Ответ

0 голосов
/ 07 марта 2019

Просто обновите страницу после настройки файлов cookie:

driver.refresh()

И вы должны увидеть изменения.

Ваш код будет выглядеть так:

for c in r.cookies:

    driver.add_cookie({'name': c.name, 'value': c.value,'path': c.path, 'expiry': c.expires})

driver.refresh()

Надеюсь, это поможет вам!

...