【问题标题】:Python: iterate transfer cookies from requests session to SeleniumPython:迭代将 cookie 从请求会话传输到 Selenium
【发布时间】:2019-07-29 10:46:53
【问题描述】:

我在将 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 次。最后,我可以访问我的购物车并查看购物车中的商品。

能否请您告诉我我在迭代中做错了什么?在我看来,第一个代码示例是正确的。这很奇怪。也许我需要先打电话给网站?

感谢您的任何建议。

最大。

【问题讨论】:

  • 嗨!进展如何?我的回答解决了你的问题吗?谢谢。

标签: python python-3.x selenium python-requests selenium-chromedriver


【解决方案1】:

设置cookies后刷新页面即可:

driver.refresh()

你应该会看到变化。

您的代码将如下所示:

for c in r.cookies:

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

driver.refresh()

希望对你有帮助!

【讨论】:

  • 您好,抱歉回复晚了。它就像一个魅力。非常感谢! :)
猜你喜欢
  • 2019-10-31
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 2016-09-26
  • 2019-12-30
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多