python使用cookies登陆失败,求解

python使用cookies登陆失败,求解

首先获取cookies

    wps = webdriver.Chrome()
    wps.get('https://www.kdocs.cn')
    wps.find_element('xpath', '//div[@class="use-now"]').click()
    wps.delete_all_cookies()  # 清理浏览器cookies
    time.sleep(30)  # 暂停30秒,手动登陆
    cookie = wps.get_cookies()  # 获取cookies
    print(cookie)  # 打印cookies

使用cookies登陆

    wps.get('https://www.kdocs.cn')
    wps.maximize_window()
    ps = wps.find_element('xpath', '//div[@class="use-now"]')
    ActionChains(wps).move_to_element(ps).move_by_offset(5, 5).click().perform()
    wps.delete_all_cookies()
    cookie = [{上方获取的cookies}]
    for cookie in cook:
        wps.add_cookie(cookie)
    wps.refresh()

浏览器提示“当前浏览器限制了第三方Cookie,影响正常登录,你可以更改浏览器的隐私设置,解除限制后重试。”

img

求解为什么会这样,是我使用的方法错误吗?

在代码中,先访问了网站,然后执行了一些操作来获取 cookies,清除了所有的 cookies,然后手动登录了网站。这意味着在获取 cookies 后,浏览器已经被注销。

当使用这些 cookies 登录网站时,浏览器会提示“当前浏览器限制了第三方Cookie,影响正常登录,可以更改浏览器的隐私设置,解除限制后重试。”这是因为浏览器在这种情况下可能会屏蔽来自第三方(即不是登录网站的域名)的 cookies。

为了解决这个问题,可以试试在获取 cookies 后保持浏览器登录状态,然后使用这些 cookies 登录网站。这意味着应该在手动登录后立即获取 cookies,而不是在清除 cookies 后再获取。

可以试试这样的修改:

wps = webdriver.Chrome()
wps.get('https://www.kdocs.cn')
wps.find_element('xpath', '//div[@class="use-now"]').click()
time.sleep(30)  # 暂停30秒,手动登陆
cookie = wps.get_cookies()  # 获取cookies
print(cookie)  # 打印cookies
# 使用 cookies 登录
wps.get('https://www.kdocs.cn')
wps.maximize_window()
ps = wps.find_element('xpath', '//div[@class="use-now"]')
ActionChains(wps).move_to_element(ps).move_by_offset(5, 5).click().perform()

# 将 cookies 添加到浏览器中
for cookie in cookie:
    wps.add_cookie(cookie)
wps.refresh()

望采纳。