【问题标题】:How to get cookies saved in browser with python and Selenium如何使用 python 和 Selenium 将 cookie 保存在浏览器中
【发布时间】:2021-10-06 08:11:19
【问题描述】:

我要使用浏览器中已经存在的 cookie 并在 Selenium 中使用它,我知道你不能只使用 Selenium 来使用它,但是有没有我可以使用的库来将 cookie 保存在 json 中变量并在 Selenium 中使用它?如何使用python提取保存在浏览器中的cookie?不仅是 Chrome,其他的也最好。

这是我目前的代码:

option = Options()
option.add_argument("--no-sandbox")        
driver = webdriver.Chrome(options=option)
driver.get("https://google.com")
wait = WebDriverWait(driver, 5)

如何从浏览器获取 cookie,将其保存为 json 格式并与 Selenium 一起使用?

【问题讨论】:

    标签: python python-3.x python-2.7 selenium


    【解决方案1】:
    import pickle
    import os
    from selenium import webdriver
    import time
    
    
    option = webdriver.ChromeOptions()
    option.add_argument("--no-sandbox")        
    driver = webdriver.Chrome(options=option)
    driver.get("https://google.com")
    time.sleep(5)
    if os.path.exists('cookies.pkl'):
        cookies = pickle.load(open("cookies.pkl", "rb"))
        for cookie in cookies:
            driver.add_cookie(cookie)
        driver.refresh()
        sleep(5)
    pickle.dump(driver.get_cookies(), open("cookies.pkl", "wb"))
    

    pickle 将帮助您保存和添加 cookie。但是,请务必将它们添加到正确的域中,否则可能会出错。

    【讨论】:

    • 但是Google页面只是一个例子,我实际上想在另一个页面上做,而我使用浏览器cookie的页面是一个重定向我登录的页面,这就是我需要的原因我需要使用浏览器中已经存在的cookie
    • 以上代码没有问题。您必须知道何时插入 cookie。
    • 如果我想获取浏览器的cookie并在这个页面上使用它,我会得到它吗? discord.com/channels/@me
    • 是的,你可以。但是,没有人能保证它会允许您自动登录,因为这取决于各种因素,包括您尝试使用 cookie 的域。
    • 它不起作用,因为没有cookies.pkl 文件,所以你的代码将使用cookies 保存文件,但是如果我什至没有经过身份验证,它会保存什么cookie?
    猜你喜欢
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 2023-03-17
    • 2020-12-03
    • 2013-11-02
    相关资源
    最近更新 更多