我试图在python上使用selenium进行一些chrome自动化,我想把我的登录信息保存到youtube上,这样我就不必自动化登录过程。我了解到,让chrome读取我保存的信息的方法是使用
user-data-dir
选项,但我不能让它工作。
我在这里看了一些问题,比如
this
,它们似乎表明了该论点的正确用法
用户数据目录
在硒中,铬的轮廓路径如下:
C:\Users\adassa\AppData\Local\Google\Chrome\User Data
例如
Default
或
Profile 1
使用这种路径,我似乎无法获得预期的结果。唯一对我有效的途径是
User Data
文件夹本身。
所以当我这样做的时候:
chrome_options.add_argument("--user-data-dir=" + r'C:\\Users\\adassa\AppData\\Local\\Google\\Chrome\\User Data')
chrome实例已打开,并为默认配置文件设置了首选项。但只有当我关闭所有其他chrome实例时,它才能正常工作,否则会引发错误:
invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
我认为这是由于我的手动chrome实例阻止了对文件夹上信息的访问,因为我正在使用它。我读到我可以创建一个新的chrome配置文件,这样它就不会与我通常使用的配置文件冲突,但如果我在chrome上手动创建了一个新配置文件,并使用配置文件路径,如:
chrome_options.add_argument("--user-data-dir=" + r'C:\\Users\\adassa\AppData\\Local\\Google\\Chrome\\User Data\\Profile 1')
新实例没有我保存到配置文件中的信息。即使我使用路径
User Data\Default
文件夹。我还尝试了使用该选项的不同组合
profile-dir
,没有成功。
阅读后
docs
,我尝试使用不存在的文件夹。在这种情况下,selenium确实创建了新文件夹,但当我尝试通过selenium创建的实例登录youtube时,为了保存信息供浏览器下次使用,我收到了以下消息(翻译为我的):
无法登录。此浏览器或应用程序可能不安全。
我很想找到一种方法来保存我的数据,这样我就不必每次登录,也不必在运行脚本时关闭所有其他chrome实例。任何帮助都将不胜感激。