iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解Selenium如何实现获取cookies并保存
  • 137
分享到

详解Selenium如何实现获取cookies并保存

Selenium获取cookies方法Selenium获取cookiesSeleniumcookies 2023-05-18 20:05:41 137人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、获取cookie二、加载cookie一、获取cookie 获取到cookie后,保存到文件中 from selenium import WEBdriver import ti

一、获取cookie

获取到cookie后,保存到文件中

from selenium import WEBdriver
import time
import JSON
from selenium.webdriver.common.by import By

#创建webdriver 对象,指明使用chrome 浏览器驱动
wd = webdriver.Chrome()

wd.implicitly_wait(10)

#调用webdriver 对象的get方法,可以让浏览器打开指定网址
wd.get('https://zhidao.baidu.com/activity/iknowduck/level?actId=47')
input('网页端登录百度账号后,请按回车键')
cookie= wd.get_cookies()
# #将获得cookie 的信息打印
print(cookie)
with open('baiducookies.txt','w') as f:
    # 将cookies保存为json格式
    f.write(json.dumps(wd.get_cookies()))
    f.close()

二、加载cookie

通过读取txt文件,添加到浏览器中

wd.add_cookie(cookie)

完整的读取cookie的流程

from selenium import webdriver
import time
import json
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from chatgpt_demo import chatgpt

#创建webdriver 对象,指明使用chrome 浏览器驱动
wd= webdriver.Chrome()
wd.implicitly_wait(10)

#调用webdriver 对象的get方法,可以让浏览器打开指定网址
wd.get('Https://zhidao.baidu.com/activity/iknowduck/level?actId=47')
# 首先清除由于浏览器打开已有的cookies
wd.delete_all_cookies()
time.sleep(10)
#打开cookie文本,使用已保存的cookie登录
with open('baiducookies.txt','r') as f:
    # 使用json读取cookies 注意读取的是文件 所以用load而不是loads
    cookies_list = json.load(f)
    for cookie in cookies_list:
        wd.add_cookie(cookie)
wd.refresh() #刷新页面
wd.refresh() #刷新页面
time.sleep(6)
#获取当前窗口的title
First_handle = wd.current_window_handle
j = 0
while j < 60:
#try:
    for i in range(9):
        n = 1
        #点击第一个问题
        questions = wd.find_elements(By.CSS_SELECTOR, 'div.q-item > div.q-title > span:nth-child(2) ')
        for question in questions:
            print('第{}个问题:'.fORMat(n), question.text)
            n += 1

            #将第一个问题,输入catgpt在线智能回答
            message = chatgpt(question.text)
            print(message)
            #with open("./output/{}.doc".format(prompt), "w") as of:
            #    of.write(message)
            titles = question.text + '_百度知道'
            time.sleep(1)
            #点击“回答”,按钮
            # answer = wd.find_element(By.CSS_SELECTOR,'.Goto-anwser-btn')
            # print('点击:',answer.text)
            wd.add_cookie(cookie) #带cookie
            question.click() #点击问题
            time.sleep(3)
            #切换窗口,点击“去回答”按钮时,打开了新的窗口,但WebDriver对象对应的 还是老窗口。这里要跟随跳转
            for handle in wd.window_handles:
                # 先切换到该窗口
                wd.switch_to.window(handle)
                # 得到该窗口的标题栏字符串,判断是不是我们要操作的那个窗口
                if 'titles' in wd.title:
                    # 如果是,那么这时候WebDriver对象就是对应的该该窗口,正好,跳出循环,
                    break
            #print(wd.title)

            #新窗口下,不管是否已有其他回答,都点击“我来答按钮”
            element = wd.find_element(By.CSS_SELECTOR, '#answer-bar')
            element.click()#点击“我来答按钮”
            #输入文本
            #新窗口,切换到第一级iframe框下,正文内容
            wd.switch_to.frame('ueditor_0')
            element = wd.find_element(By.CSS_SELECTOR,'body > p')
            print('正在输入答案')
            element.send_keys(message)
            #先返回到主html,点击提交按钮
            wd.switch_to.default_content()
            time.sleep(50)
            element = wd.find_element(By.CSS_SELECTOR,'div.addons.line > a')
            print(element.text)
            wd.add_cookie(cookie)  # 带cookie
            element.click()
            time.sleep(5)
            #做完一系列操作后关闭school_handle
            wd.close()
            # 切换窗口会第一个窗口
            wd.switch_to.window(First_handle)
#except:
    print("出错{}次,正在重新运行程序。".format(j))
    j += 1
    wd.switch_to.window(First_handle)
    time.sleep(5)
    wd.refresh()  # 刷新页面
else:
    print('出错太多次啦,程序已结束')

到此这篇关于详解Selenium如何实现获取cookies并保存的文章就介绍到这了,更多相关Selenium获取cookies内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Selenium如何实现获取cookies并保存

本文链接: https://www.lsjlt.com/news/212438.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Selenium如何实现获取cookies并保存
    目录一、获取cookie二、加载cookie一、获取cookie 获取到cookie后,保存到文件中 from selenium import webdriver import ti...
    99+
    2023-05-18
    Selenium获取cookies方法 Selenium获取cookies Selenium cookies
  • 详解Python Selenium如何获取鼠标指向的元素
    有一个同学在Gne的群里面咨询如何通过Selenium获取当前鼠标指向的元素,在我讲了方法以后,他过了两天又来问: 那么,我今天就来写一篇文章,具体说说应该怎么操作。 这个方法的核...
    99+
    2024-04-02
  • 利用Java如何实现爬取网络图片并保存
    这篇文章给大家介绍利用Java如何实现爬取网络图片并保存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体内容如下package getUrlPic;import java.io.ByteArrayOutputStre...
    99+
    2023-05-31
    java ava
  • Python爬虫如何获取数据并保存到数据库中
    本篇内容主要讲解“Python爬虫如何获取数据并保存到数据库中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫如何获取数据并保存到数据库中”吧!1.简介介绍-网络爬虫(又称为网页蜘...
    99+
    2023-07-02
  • 如何获取Finalshell中保存的密码
    通过Finalshell工具连接linux服务之后,但是忘记了linux登入密码,不需要重置就可以找回,步骤如下 步骤1,找到finalshell工具安装路径 步骤2,该文件夹下面文件都是以连接过的服务主机名称命名的,打开你忘记密码的主机...
    99+
    2023-09-16
    java android jvm
  • Java实现获取小程序带参二维码并保存到本地
    目录获取小程序带参二维码并保存到本地业务场景POSTMAN调试WxUtil封装:下载带参数的小程序二维码Controller调用下载验证微信小程序码的生成及保存到阿里云oss阿里云o...
    99+
    2024-04-02
  • 利用JavaCV如何实现抓取并保存摄像头的影像
    今天就跟大家聊聊有关利用JavaCV如何实现抓取并保存摄像头的影像,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实现:import java.awt.Graphics2D; impo...
    99+
    2023-05-31
    javacv ava
  • opencv如何读取视频并保存图像
    这篇文章主要介绍了opencv如何读取视频并保存图像,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题重述实习项目要做安全帽目标检测,拿到了公司给的一些视频数据,使用Open...
    99+
    2023-06-15
  • SpringBoot配置Redis实现保存获取和删除数据
    目录1 Redis2 Maven依赖3 application.propertis4 RedisConfig5 RedisService6 调试代码 7 调试结果...
    99+
    2024-04-02
  • 如何实现Playwright元素截图并保存至allure
    这篇文章主要为大家展示了“如何实现Playwright元素截图并保存至allure”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现Playwright元素截图并保存至allure”这篇文章...
    99+
    2023-06-25
  • Android使用gradle读取并保存数据到BuildConfg流程详解
    目录问题描述gradle读取操作BuildConfig 配置代码中使用问题 最近 Cordova 项目里有一个需求,这里需要从 assets 目录中读取文件,加载配置信息,并且代码中...
    99+
    2023-02-09
    Android BuildConfg Android gradle读取数据到BuildConfg
  • 如何使用Python自动爬取图片并保存
    小编给大家分享一下如何使用Python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作用python来实现对百度图片的爬取并保存,以情...
    99+
    2023-06-22
  • mysql如何创建event并实现保存event执行history
    这篇文章给大家分享的是有关mysql如何创建event并实现保存event执行history的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1.创建保...
    99+
    2024-04-02
  • Pythonos.listdir与os.walk实现获取路径详解
    目录1.os.listdir2.os.walk1.os.listdir 使用情况:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir; 例如:d:\listdi...
    99+
    2024-04-02
  • 如何使用SpringAop动态获取mapper执行的SQL并保存SQL到Log表中
    本文小编为大家详细介绍“如何使用SpringAop动态获取mapper执行的SQL并保存SQL到Log表中”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用SpringAop动态获取mapper执行的SQL并保存SQL到Log表中”文...
    99+
    2023-07-05
  • 详解.NET6如何实现获取当前登录用户信息
    目录需求目标原理和思路实现创建当前用户获取接口实现接口功能使用功能验证总结需求 在前面的文章里使用.NET 6开发TodoList应用之领域实体创建原理和思路,我们留了一个...
    99+
    2024-04-02
  • python如何批量读取.mat文件并保存成.npy
    目录python批量读取.mat文件并保存成.npypython读取.mat文件时出现错误解决总结python批量读取.mat文件并保存成.npy import numpy as n...
    99+
    2022-12-14
    python批量读取mat文件 读取mat文件保存成npy python读取mat文件
  • 如何用Python爬取百度搜索结果并保存
    这篇文章主要讲解了“如何用Python爬取百度搜索结果并保存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用Python爬取百度搜索结果并保存”吧! 一、前言众所周知,百度上直...
    99+
    2023-06-15
  • Android编程如何实现悬浮窗获取并显示当前内存使用量
    这篇文章给大家分享的是有关Android编程如何实现悬浮窗获取并显示当前内存使用量的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文实例讲述了Android编程实现悬浮窗获取并显示当前内存使用量的方法,具体如下:...
    99+
    2023-05-30
    android
  • ajax怎么实现上传图片保存到后台并读取
    这篇文章主要介绍ajax怎么实现上传图片保存到后台并读取,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!上传图片有两种方式:fileReader  可以把图片解析成base64码的格式,简单粗暴canvas&...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作