警告:此线程中提供的 cookie 可能已经无效,因此您应该使用您自己的或其他一些 cookie 来执行此操作
我需要使用以下方式登录我的 YouTube 帐户饼干和硒.
我可以发送请求至https://www.youtube.com/与饼干,它会succeed:
要知道您的请求是否成功,您应该按 ctrl+f 并输入顶部栏菜单按钮渲染器,如果您已登录该帐户,则为 2 个结果,如果您未登录,则只有 1 个结果
![login to youtube via postman](https://i.stack.imgur.com/jjSoz.png)
so the 账户有效并且您可以使用 cookie 登录它,所以现在让我们尝试一下通过硒登录:
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())
and nothing works, I am not logged in youtube account, I just see this page:
![login fail](https://i.stack.imgur.com/V1Xtb.png)
正如你所看到的,在我添加了我打印的cookie后driver.get_cookies(),这就是它returned:
[{'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())
我看到的是:
[{'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'}]
它是不一样据我了解,youtube 给我分配了其他 cookie,但为什么 youtube 这样做呢?
当我使用cookie 快速管理器扩展 (源代码)在火狐浏览器中一切工作正常我可以登录 youtube 帐户
那么我如何使用 Selenium 通过 Cookie 登录我的 YouTube 帐户,以及我无法添加 Cookie 的原因是什么?我尝试了 selenium-wire 和默认 selenium 并遇到了同样的问题
如果我尝试通过 selenium 浏览器手动登录,我会看到以下内容:
What is the problem? I passed all tests on https://bot.sannysoft.com/ and selenium's result is even better than mine - https://i.imgur.com/1MfSu9L.mp4
![enter image description here](https://i.stack.imgur.com/r7QdF.png)