Python:迭代从请求会话到Selenium的传输cookie

时间:2019-03-07 14:03:16

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

我在将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 :(得分:0)

设置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()

希望对您有帮助!