selenium cookie 登录

selenium 获取登录 cookie,保存,登录

https://www.cnblogs.com/CYHISTW/p/11685846.html

# 保存 ckkie
from selenium import webdriver
import time
import json

driver = webdriver.Chrome()
driver.get('登录页面网址')

# 程序打开网页后20秒内手动登陆账户
time.sleep(30)

with open('cookies.txt', 'w') as cookief:
    # 将cookies保存为json格式
    cookief.write(json.dumps(driver.get_cookies()))

driver.close()
'''
添加cookie
'''
# 打开 url
driver.get('登录页url')

# 首先清除由于浏览器打开已有的cookies
driver.delete_all_cookies()

with open('cookies.txt', 'r') as cookief:
    # 使用json读取cookies 注意读取的是文件 所以用load而不是loads
    cookieslist = json.load(cookief)
    for cookie in cookieslist:
        # 该字段有问题所以删除就可以  浏览器打开后记得刷新页面 有的网页注入cookie后仍需要刷新一下
        if 'expiry' in cookie:
            del cookie['expiry']
            driver.add_cookie(cookie)

# 记得写完整的url 包括http和https
driver.get('爬取的url')

# 等待页面加载出来
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'ant-form-item-children')))

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid 'expiry'

添加 cookie 报的错

https://www.cnblogs.com/CYHISTW/p/11685846.html

selenium.common.exceptions.InvalidCookieDomainException: Message: Document is cookie-averse

添加 cookie 后,访问需要登录的网站,出现这个报错,在访问登录后的网页前,最开始需要打开登录页的 url

https://www.cnblogs.com/mrwuzs/p/11807229.html

requests 获取 cookie ,selenium 登录 

登录知乎:https://www.zhihu.com/question/28569874

参考代码:https://www.codenong.com/cs109692251/

以登录知乎为例,先用别人开发的第三方工具登录知乎,获取 cookies,再使用 selenium 打开

from DecryptLogin import login
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import json
from selenium import webdriver


# 知乎登录获取 cookies
lg = login.Login()
infos_return, session = lg.zhihu('13532287396', 'zjk12345', 'pc')
cookies = session.cookies

# selenium 使用 cookies
webapi = webdriver.Chrome()
webapi.get('https://www.zhihu.com/signin?next=%2F')
webapi.implicitly_wait(10)  #全局等待10min
webapi.delete_all_cookies() #删除selenium侧的所有cookies
for k,v in session.cookies.items(): #获取requests侧的cookies
    webapi.add_cookie({'name':k,'value':v})    #向selenium侧传入以requests侧cookies的name为键value为值的字典
webapi.get('https://www.zhihu.com/')

pass

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值