Gmail Cookie使用Python Selenium自动登录

时间:2019-12-01 01:56:10

标签: python-3.x selenium cookies gmail

考虑以下用于通过上次登录的cookie通过gmail登录gmail的功能:

def load_cookies(matcher):
    cookie_jar = self.cookie_file
    if cookie_jar.is_file():
        print("############## Found cookie. Loading... ####################")
        cookies = pickle.load(open(self.cookie_file, "rb"))
        for cookie in cookies:
            pprint(cookie)
            if cookie['domain'] == matcher:
                self.browser.add_cookie(cookie)
        self.browser.refresh()

我使用匹配器,因为如果不使用匹配器,则会得到“可能仅为当前域(accounts.google.com)设置Cookie”。但是,如果我将matcher设置为.google.com,它将不会自动登录。我相信这是因为gmail成功登录后会为多个Google子域(例如mail.google.com)设置cookie,然后对其进行检查。

这是一个问题,因为我们无法为未访问的子域设置Cookie,并且如果我们尝试访问一个子域,则Google会立即将我们重定向回account.google.com。我们无法禁用javascript,因为它需要重新加载Web驱动程序才能重新启用它。

任何人都可以演示仅使用Cookie登录gmail吗?我正在使用geckodriver,尽管没关系。

0 个答案:

没有答案