如何在Selenium中保持网站的登录状态
一、问题场景
Selenium是一个广泛使用的Web自动化测试工具,可以通过Python控制浏览器模拟各种用户操作。在默认情况下,Selenium打开的浏览器与原生的浏览器在变量环境上是相互隔离的,用户无法继承原生浏览器中的网站登录状态,每次运行时都需要重新进行登录,很不方便。
经过在ChatGPT、度娘上一通搜索和尝试,阿猪找到一个操作简便的实现方法,就是为Selenium指定浏览器的User Data目录,与原生的浏览器共享cookie、缓存等文件。
二、为Selenium指定浏览器的User Data目录
本文以Window和Chrome环境为例,示例代码如下:
1 | from selenium import webdriver |
这里假设你已经解决了WebDriver与浏览器的适配问题。
需要注意的是,在运行的时候Windows中不要同时打开其他的Chrome浏览器窗体实例,否则可能会遇到如下报错:
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited normally.
(unknown error: DevToolsActivePort file doesn’t exist)
未经书面授权许可,任何个人和组织不得以任何形式转载、引用本站的任何内容。本站保留追究侵权者法律责任的权利。
评论