Selenium使用Cookies登录YouTube账号失败问题求助
警告:本帖提供的cookies可能已失效,请使用您自己或其他有效cookies
我需要用cookies和Selenium登录我的YouTube账号。
用Postman携带cookies请求YouTube时能成功登录:判断登录状态可以按Ctrl+F搜索topbarMenuButtonRenderer,登录后会出现2个结果,未登录只有1个。
这说明账号有效,且确实能通过cookies登录,但换成Selenium尝试就不行:
driver.get('https://www.youtube.com/') driver.delete_all_cookies() cookies_list = [{'domain': 'youtube.com', 'path': '/', 'name': 'YSC', 'value': 'a38PFuRxAE'}, {'domain': 'youtube.com', 'path': '/', 'name': 'LOGIN_INFO', 'value': 'AFmmF2swRgIhAJrDBvelBtBPZeLLcvN5NdPjNC91wU4dwlXwLxGgLrwiAiEAiqfySzpzR-oQCHMjMwSrRTYX06SPyTTXVq7aknsa9m0:QUQ3MjNmd2xTMWtDckdmYUxWZ2wxLUhzemhua1VOanBqZGlMUzJoMnBVU1NHSnRwcE9EXzBfdnFLa1hhXzBWd3VGVmpiYktpVmVuTjhFd0NXUUN6ZVdMcUFXX281T1RjQTE2d2FaU0Y0OE1pT2pwbmtRTDM2VkhrM1RTM1F5ZjNCWEU1UWJSWnN0OVl2Nnh3WkV6NlRaMkQ5bkZ2NDlSZUh'}, {'domain': 'youtube.com', 'path': '/', 'name': '__Secure-3PAPISID', 'value': 'Xu1s1vs4Mgl1xUEs/AVuFyeQXwPAFFeQY'}, {'domain': 'youtube.com', 'path': '/', 'name': '__Secure-3PSID'}, {'domain': 'youtube.com', 'path': '/', 'name': 'wide', 'value': ''}, {'domain': 'youtube.com', 'path': '/', 'name': 'VISITOR_INFO1_LIVE', 'value': 'FI45r6mrQr'}, {'domain': 'youtube.com', 'path': '/', 'name': 'PREF', 'value': 'tz=Africa.Casablanc'}, {'domain': 'youtube.com', 'path': '/', 'name': '__Secure-3PSIDCC', 'value': 'AEf-XMSrvxDUtrK-9pfKiHiKp-G2KXstszEs3VKc8QNAOQne87VY1Gf5qRFmh30apZ0Y23NVXdx'}] for cookie in cookies_list: driver.add_cookie(cookie) print(driver.get_cookies())
执行后毫无作用,完全没登录成功,页面显示未登录状态:
添加完cookies后打印driver.get_cookies(),结果和我添加的完全一致:
[{'domain': '.youtube.com', 'httpOnly': False, 'name': '__Secure-3PSIDCC', 'path': '/', 'secure': True, 'value': 'AEf-XMSrvxDUtrK-9pfKiHiKp-G2KXstszEs3VKc8QNAOQne87VY1Gf5qRFmh30apZ0Y23NVXdx'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': 'PREF', 'path': '/', 'secure': True, 'value': 'tz=Africa.Casablanc'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': 'VISITOR_INFO1_LIVE', 'path': '/', 'secure': True, 'value': 'FI45r6mrQr'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': '__Secure-3PSID', 'path': '/', 'secure': True, 'value': 'OwgduM77qro_1Obb2aOFY-SUCodOe-WbFGBjwBesoFqHgxebvyLaYFcsEyPQlLwd1Prm1w'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': 'wide', 'path': '/', 'secure': True, 'value': ''}, {'domain': '.youtube.com', 'httpOnly': False, 'name': '__Secure-3PAPISID', 'path': '/', 'secure': True, 'value': 'Xu1s1vs4Mgl1xUEs/AVuFyeQXwPAFFeQY'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': 'LOGIN_INFO', 'path': '/', 'secure': True, 'value': 'AFmmF2swRgIhAJrDBvelBtBPZeLLcvN5NdPjNC91wU4dwlXwLxGgLrwiAiEAiqfySzpzR-oQCHMjMwSrRTYX06SPyTTXVq7aknsa9m0:QUQ3MjNmd2xTMWtDckdmYUxWZ2wxLUhzemhua1VOanBqZGlMUzJoMnBVU1NHSnRwcE9EXzBfdnFLa1hhXzBWd3VGVmpiYktpVmVuTjhFd0NXUUN6ZVdMcUFXX281T1RjQTE2d2FaU0Y0OE1pT2pwbmtRTDM2VkhrM1RTM1F5ZjNCWEU1UWJSWnN0OVl2Nnh3WkV6NlRaMkQ5bkZ2NDlSZUh'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': 'YSC', 'path': '/', 'secure': True, 'value': 'a38PFuRxAE'}]
但如果加一行刷新代码:
driver.refresh() print(driver.get_cookies())
返回的cookies就变了,YouTube重新分配了新的cookies:
[{'domain': '.youtube.com', 'expiry': 1699659768, 'httpOnly': False, 'name': 'CONSENT', 'path': '/', 'secure': True, 'value': 'PENDING+879'}, {'domain': '.youtube.com', 'expiry': 1699227767, 'httpOnly': True, 'name': '__Secure-YEC', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': 'CgtFOHBmRnprNldvRSjyz_2ZBg%3D%3D'}, {'domain': '.youtube.com', 'expiry': 1699659769, 'httpOnly': False, 'name': 'PREF', 'path': '/', 'secure': True, 'value': 'tz=Europe.London&f4=4000000'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': '__Secure-3PSIDCC', 'path': '/', 'secure': True, 'value': 'AEf-XMSrvxDUtrK-9pfKiHiKp-G2KXstszEs3VKc8QNAOQne87VY1Gf5qRFmh30apZ0Y23NVXdx'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': '__Secure-3PSID', 'path': '/', 'secure': True, 'value': 'OwgduM77qro_1Obb2aOFY-SUCodOe-WbFGBjwBesoFqHgxebvyLaYFcsEyPQlLwd1Prm1w'}, {'domain': '.youtube.com', 'httpOnly': False, 'name': 'wide', 'path': '/', 'secure': True, 'value': ''}, {'domain': '.youtube.com', 'httpOnly': False, 'name': '__Secure-3PAPISID', 'path': '/', 'secure': True, 'value': 'Xu1s1vs4Mgl1xUEs/AVuFyeQXwPAFFeQY'}]
这是为什么?
另外,用Firefox的Cookie Quick Manager扩展导入相同的cookies,就能正常登录YouTube,完全没问题。
现在的问题是:怎么用Selenium通过cookies登录YouTube?为什么Selenium添加cookies后不起作用?selenium-wire和原生Selenium我都试过,情况一样。
还有,我尝试在Selenium浏览器里手动登录,也会出现异常页面。但我已经通过了所有机器人检测,而且Selenium的检测结果比我自己的浏览器还好。
内容的提问来源于stack exchange,提问作者1bura
相关产品推荐
相关产品推荐

