当前位置: 首页 > wzjs >正文

中国门户网站建设重要性怎么样创建网站

中国门户网站建设重要性,怎么样创建网站,小程序店铺装修教程,廊坊营销型网站建设在使用Selenium进行Web自动化时,添加网站Cookies是实现免登录的一种高效方法。通过模拟浏览器行为,我们可以将已登录状态的Cookies存储起来,并在下次自动化测试或爬虫任务中直接加载这些Cookies,从而跳过登录步骤。 Cookies简介 …

        在使用Selenium进行Web自动化时,添加网站Cookies是实现免登录的一种高效方法。通过模拟浏览器行为,我们可以将已登录状态的Cookies存储起来,并在下次自动化测试或爬虫任务中直接加载这些Cookies,从而跳过登录步骤。

Cookies简介

        Cookies是存储在用户本地终端上的一小块数据,它会在浏览器向服务器发起请求时被携带并发送到服务器上。这些Cookies通常包含了用户的会话信息,比如登录状态、用户偏好设置等。简而言之,Cookie就像是临时身份证一样,每次浏览器请求时都会携带它,以便服务器识别用户身份或保持会话状态,这也是为什么我们在一个网页内登录后关闭掉网页,再次进入依然能够保持登录状态的原因。

        不过,为了安全起见,网站开发者通常会对Cookies设置过期时间,并且在过期后会被浏览器自动删除。此外,Cookies的存储位置也有限制,通常只能在设置它们的域名下访问,这在一定程度上保护了用户的隐私安全。

这里以CSDN为例

        打开浏览器开发者工具,查看当前html的cookie信息,Expire一栏是cookie过期时间,会话一般表示关闭网页后这个cookie就过期。

selenium中针对cookie的操作

        在selenium中,有以下几个方法用来管理和操作当前网页内的cookie:

这里假设我们已经设定好一个webdriver对象名为browser

获取当前网页内的cookie

cookies=browser.get_cookies()
#cookies是List[dict],[{},{},{}]的格式

添加cookie至当前网页

browser.add_cookie('cookie字典')

删除单个cookie

browser.delete_cookie('cookie名称')

删除所有cookie

browser.delete_all_cookies()

通过cookie实现免登录

步骤

        由于没有用户数据,webdriver每次打开一个网页都相当于新启动一个浏览器打开该网页

        因此,在一些需要登录的网站,我们可以先试用webdriver打开该网页,接着手动扫码登录后,使用get_all_cookies()方法将登录后网页的cookies先保存到本地,建议使用json。

        然后下一次使用webdriver打开该网站时,再使用add_cookie()方法把先前的登录后的cookie数据添加到webdriver中,接着刷新页面,网站便会顺间恢复到已登录的状态。

源代码

       这里以Edge为例,其余浏览器方法一样,将webdriver类型更换即可。

   获取登录后的网页cookies


import json
import time
from selenium.webdriver.edge.options import Options
from selenium import webdriver
edge_options=Options()
edge_options.add_argument('--disable-blink-features=AutomationControlled')
browser=webdriver.Edge(options=edge_options)
browser.get('URL')#请将URL替换为你要登录的网站的URL 
browser.maximize_window()  
time.sleep(20)#等待20秒,这20秒用来手动登录,若时间不够,请自行调整
cookies=browser.get_cookies()
with open('cookies.json','w') as f:f.write(json.dumps(cookies))#将cookies保存到本地cookies.json文件中
browser.quit() 

将保存到本地的cookie数据添加到webdriver中

import json
from selenium.webdriver.edge.options import Options
from selenium import webdriver
edge_options=Options()
edge_options.add_argument('--disable-blink-features=AutomationControlled')
browser=webdriver.Edge(options=edge_options)
browser.get('URL')#请将URL替换为你要登录的网站的URL 
browser.maximize_window()                    
with open('cookies.json','r') as f:cookies=json.loads(f.read())for cookie in cookies:cookie_dict = {'domain': cookie.get('domain'),'name': cookie.get('name'),'value': cookie.get('value'),"expires": '','path': '/','httpOnly': False,'HostOnly': False,'Secure': False}browser.add_cookie(cookie_dict)browser.refresh()  
#执行后续操作

效果

webdriver刚启动打开csdn主页 

 

添加cookie并刷新页面后 

说明 

        不同网站的cookie有效时长各不相同,为了安全起见,很多都是会话,因此保存在本地的cookie数据也需要定时更新,对此,你可以在浏览器的开发者工具中查看cookie的expire时间来决定更新的频率。

http://www.dtcms.com/wzjs/368209.html

相关文章:

  • 滨湖网站建设电脑上突然出现windows优化大师
  • app的技术框架有哪些成都关键词seo推广电话
  • 合肥网络推广策划方案站长工具seo综合查询权重
  • 新手如何做企业网站seo网络营销公司
  • 网站建设算什么资产网络营销毕业论文范文
  • 临沂网站优化如何软文代写平台有哪些
  • 电子商务网站建设需求分析报告seo需要会什么
  • 织梦网站后台地址怎么简单制作一个网页
  • 百度网站地图代码竞价托管外包公司
  • 中国建设工程造价管理系统网站谷歌seo一个月费用需要2万吗
  • 在家做网站编辑成都网站seo收费标准
  • 做网站平面模板是啥意思谷歌推广公司哪家好
  • 网站悬浮代码如何优化网络
  • 集团企业网站设计方案营业推广怎么写
  • 陕西做教学成果网站的公司关键词什么意思
  • 郑州做网站哪家好熊掌号网络营销外包网络推广
  • 自建站推广河南平价的seo整站优化定制
  • 郑州的做网站公司百度定位店铺位置怎么设置
  • 湖南餐饮网站建设济南百度竞价开户
  • 如何做网站流量统计合肥网站推广
  • 手表哪个网站做的好sem竞价账户托管
  • 宁波百度seo代理seo外包服务方案
  • 做房地产公司网站的费用百度售后电话人工服务
  • wordpress视频发布站主题郑州发布最新通告
  • 阿里云主机怎么做两个网站吗东莞seo软件
  • 网络seo是什么优化关键词排名seo
  • 淄博做网站班级优化大师免费下载app
  • 在北京做家教的网站长春建站服务
  • 网站分析怎么写谷歌推广平台
  • 备案 个人网站名称西安seo顾问培训