使用SeleniumBase保存和加载Cookie时出现问题

2 投票
1 回答
52 浏览
提问于 2025-04-13 21:01

我正在尝试保存我在Discord上的账户认证信息,登录后文件成功保存了cookies(小块数据),但是当我尝试加载这些cookies时,发现它们根本没有变化,系统还让我重新登录。这个问题在使用原始的selenium时也出现过。请不要提供使用pickle包的解决方案,我尝试了很多方法,只有playwright包有效。我希望能在seleniumbase中找到解决方案。

from seleniumbase import BaseCase
BaseCase.main(__name__, __file__)

class MyTestClass(BaseCase):
    def test_swag_labs(self):
        self.open("https://discord.com/")
        self.sleep(5)
        # self.save_cookies(name="cookies.txt")
        self.load_cookies(name="cookies.txt")
        self.open("https://discord.com/channels/@me")
        self.sleep(5)

1 个回答

0

仅仅保存和加载 cookies 可能无法完全恢复之前的状态。一个更好的方法是为测试设置一个自定义的 user_data_dir,然后在后续的测试中重复使用这个 user_data_dir

使用 SeleniumBase 的 pytest 格式,你可以通过命令行选项来设置它:

pytest --user-data-dir=my_data_dir

撰写回答