Python selenium get_cookies获取cookie不全的解决方案
作者:zhu6201976 发布时间:2021-09-17 07:39:52
标签:selenium,get,cookies,cookie
一、场景
浏览器访问淘宝,再访问天猫,继续访问1688......
此时,浏览器中的cookie是什么状态?
显然,包含上述3个网站的所有cookie
二、此时,若通过selenium get_cookies()方法,能获取到浏览器所有cookie吗?
答案显然是不能的(webdriver安全考虑),此方法只能获取当前请求域名下的所有cookie
故访问天猫或1688会登录失败。
那可以通过什么方式,将浏览器所有cookie获取?
方案一:基于浏览器内核,打造属于自己的浏览器,解除限制
方案二:挂代理,Fiddler,mitmproxy等
方案三:分别请求对应域名,获取所有cookie(推荐,笔者首创)
三、样例代码
lmdd_url = f'{self.root_lmdd_url}/seller/dashboard/plan/order'
self.chrome.get(lmdd_url)
cookie_list = self.chrome.get_cookies()
self.chrome.get(self.root_lmdd_api_url)
cookie_list_api = self.chrome.get_cookies()
cookie_list.extend(cookie_list_api)
self.update_session_cookie(cookie_list)
补充:selenium通过add_cookie()添加cookie
selenium通过add_cookie()添加cookie,再次访问网站时,服务器直接读取浏览器cookie
第一次登陆 手动输入用户名密码
# -*- coding:utf-8 -*-
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
sleep(2)
driver.find_element_by_xpath('//*[@id="u1"]/a[7]').click()
driver.add_cookie({'name':'userName','value':'youname'})
driver.add_cookie({'name':'password','value':'youpassword'})
sleep(30)
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium')
来源:https://blog.csdn.net/zhu6201976/article/details/125665774
0
投稿
猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧~import kerasimport numpy as npimport matplotlib.py
- 前言:有些时候,为了设定手机铃声或者发抖音视频,我们会耗费大量时间在剪辑音乐高潮部分上。那么这个音乐高潮的提取能不能自动化呢?当然可以。先来
- 我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 t
- 看了网站LOGO设计规范的思考的第一部分关于logo设计基础,现在接着来谈谈网络LOGO的设计。四、网络LOGO的设计 古代皇家的纹章,有条
- 最近因项目需要用ACCESS做数据库开发WEB项目看论坛上还许多人问及ACCESS被注入的安全问题许多人解决的方法仍然是用Replace替换
- 网络爬虫网络爬虫是指在互联网上自动爬取网站内容信息的程序,也被称作网络蜘蛛或网络机器人。大型的爬虫程序被广泛应用于搜索引擎、数据挖掘等领域,
- 1、获取对象类型,基本类型可以用type()来判断。>>> type(123)<class 'int'
- 下表列出 SQL Server 查询分析器提供的所有键盘快捷方式。活动 快捷方式 书签:清除所有书签。 CTRL-SHIFT-F2
- 假如不使用INSTEAD OF触发器或可更新分区视图而是通过视图来修改数据,那么再修改之前,请考虑下列准则:◆如果在视图定义中使用了 WIT
- 前言:record类型,这是一种新引用类型,而不是类或结构。record与类不同,区别在于record类型使用基于值的相等性。例如:publ
- 简介Github:https://github.com/spf13/cobraStar:26.5KCobra是一个用Go语言实现的命令行工具
- 前言:python虽然是一门'慢语言',但是也有着比较多的性能检测工具来帮助我们优化程序的运行效率。这里总结了五个比较好的p
- python正则表达式括号python中re库函数的简单用法re.findall(pattern,string)匹配所有符合正则表达式的字符
- 函数原型pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, h
- 问题原因:我遇到的情况,装了.NET2.0+IIS升级后就出现以上问题;不确定其他原因也会不会产生类似错误。(如果有,希望大家能贴出更多的原
- 1、Export/Import的用处 Oracle Export/Import工具用于在数据库之间传递数据。 Export从数据库中导出数据
- 错误提示如下:其实这是一个挺常见的系统报错,缺乏VC++库。我安装的是python3.5.2,这个版本需要的vc版本是2015的了,下载:M
- 本篇讲下如何使用纯python代码将excel 中的图表导出为图片。这里需要使用的模块有win32com、pythoncom模块。网上经查询
- 小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说“饺子”,对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用“饺饺”来
- 第一段代码:#!/usr/bin/python# -*- coding: utf-8 -*-import emailimport mimet