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,影响正常登录,你可以更改浏览器的隐私设置,解除限制后重试。”
求解为什么会这样,是我使用的方法错误吗?
在代码中,先访问了网站,然后执行了一些操作来获取 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()
望采纳。