MA1*_*001 9 python cookies session selenium-webdriver
我正在使用 Selenium 登录帐户。登录后,我想保存会话并在下次运行 python 脚本时再次访问它,这样我就不必再次登录。基本上我希望 chrome 驱动程序像真正的 google chrome 一样工作,其中保存所有 cookie/会话。这样我就不必在每次运行时都登录该网站。
browser.get("https://www.website.com")
browser.find_element_by_xpath("//*[@id='identifierId']").send_keys(email)
browser.find_element_by_xpath("//*[@id='identifierNext']").click()
time.sleep(3)
browser.find_element_by_xpath("//*[@id='password']/div[1]/div/div[1]/input").send_keys(password)
browser.find_element_by_xpath("//*[@id='passwordNext']").click()
time.sleep(5)
Run Code Online (Sandbox Code Playgroud)
ben*_*era 12
正如 @MohamedSulaimaanSheriff 已经建议的那样,您可以使用您的个人 chrome 配置文件打开 Chrome selenium。为此,此代码将起作用:
options = webdriver.ChromeOptions()
options.add_argument(r'--user-data-dir=C:\Users\YourUser\AppData\Local\Google\Chrome\User Data\')
PATH = "/Users/yourPath/Desktop/chromedriver"
driver = webdriver.Chrome(PATH, options=options)
Run Code Online (Sandbox Code Playgroud)
当然,您可以通过创建新路径并替换路径User Data来为脚本设置额外的内容。User Data Directory确保复制现有的内容User Data以确保不会引发任何错误。之后您可以在 Chrome 本身中重置它们。
这是我使用的解决方案:
# I am giving myself enough time to manually login to the website and then printing the cookie
time.sleep(60)
print(driver.get_cookies())
# Than I am using add_cookie() to add the cookie/s that I got from get_cookies()
driver.add_cookie({'domain': ''})
Run Code Online (Sandbox Code Playgroud)
这可能不是实现它的最佳方式,但它正在做我一直在寻找的事情
| 归档时间: |
|
| 查看次数: |
26362 次 |
| 最近记录: |