【问题标题】:Save/Load Cookies with Python Selenium + Chrome使用 Python Selenium + Chrome 保存/加载 Cookie
【发布时间】:2021-07-13 07:46:55
【问题描述】:

我想要求对这个老问题进行 2021 年代码修订:How to save and load cookies using Python + Selenium WebDriver

我对使用 Chrome 自动管理单独配置文件文件夹中的 cookie 的解决方案特别感兴趣。

我的目标是在桌面上有一个文件夹作为独立的虚拟环境,因此所有 cookie 都将保存在该文件夹中,并在您下次启动 Selenium 实例时从该文件夹加载。

为了找到最干净的解决方案,我偶然发现了这些代码 sn-ps:

chrome_options = Options()
chrome_options.add_argument("user-data-dir=selenium") 
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("www.google.com")

第一个解决方案对我不起作用。我收到了“chrome_options”的弃用警告,因此将其更改为“options”,但代码仍然无法正常工作并引发一些错误。

options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe', options=options)

我在这里无法理解的是使用“ChromeOptions()”而不是“Options()”之间的区别。我也不明白为什么直接将路径作为参数传递而不是使用“options.add_argument”。

正如我一开始所说,我正在努力寻找最干净的解决方案,使用 Python Selenium + Chrome 在单独的文件夹环境中存储/加载 cookie。这当然意味着使用更新到 2021 年的最新语法。

【问题讨论】:

    标签: python selenium google-chrome cookies webdriver


    【解决方案1】:
    from selenium.webdriver.chrome.options import Options
    from selenium import webdriver
    chrome_options = Options()
    chrome_options.add_argument("user-data-dir=selenium") 
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://www.google.com")
    

    您必须使用这样的选项,否则您会从 chrome 选项中收到折旧警告。

    【讨论】:

    • “Options()”和“ChromeOptions()”有什么区别?
    • 它只是一个较旧的版本,因此它已被贬值,因为它不是最新的。
    • 我在driver = webdriver.Chrome(options=chrome_options) 行收到错误
    • 您是否将用户数据目录更改为您的路径。
    • --user-data-dir=C:\Users\\AppData\Local\Google\Chrome\User Data 类似这样。
    猜你喜欢
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 2015-05-24
    相关资源
    最近更新 更多