通过url账号密码登录其他网站_selenium如何跳过登录

维持会话:简单是说就是可以帮我们保持登录状态,不用每次请求都要登录

之前我在requests中讲过怎么维持会话,这里简单回顾一下

Import requests

session = requests.Session()
url = '目标url'
response = session.get(url, headers=headers)

这样就可以保持会话

那selenium怎么维持会话呢?

方法一:

第一次登录后获取cookies,之后的每一个请求都带着这个cookies就好了,调用getcookies()获取cookies,调用add_cookies()将cookies加入请求中

from selenium import webdriver

browser = webdriver.Chrome()
cookies = browser.get_cookies()
browser.add_cookie(cookies)

但这方法没什么效果

方法二:

但是我查到了更好的方法来解决这个问题,连登录的环节都可以直接省去。

我们在使用chrome浏览器的时候总会问我们是否需要保存账号密码,在这过程中浏览器就自动帮我们保持了登录的状态,这些数据会存在一个叫User Data文件夹里

c40f70468c48c1cf127747683be51335.png

我的文件位置在:C:Usersxjm AppDataLocalGoogleChromeUser Data

调用add_argument()添加参数user-data-dir

from selenium import webdriver

chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument(r"user-data-dir=C:UsersxjmAppDataLocalGoogleChromeUser Data")   # 把数据传入程序
chromeOptions.add_experimental_option('excludeSwitches', ['enable-automation'])   # 防止网站发现我们使用模拟器
browser = webdriver.Chrome(options=chromeOptions)
browser.get('http://58921.com/alltime?page=3')   

目标网站:http://58921.com/alltime?page=3(查看大于三页的url需要登录)

之后我们进入浏览器,把账号密码输入,还要记得把记住我点上

b3235e488d28b65f1e36c5a440ad3ddf.png

最终测试:

我们直接请求第三页看看可以顺利运行吗

结果是:

我们是可以直接请求第三页的而不用登录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值