selenium自动化 | 通过获取cookies登录
》》》登录百度《《《
#获取登录成功后的cookies
def get_cookies():
driver.get(bd_url)
driver.implicitly_wait(10)#隐式等待
#登录操作
ActionChains(driver)\
.move_to_element(driver.find_element_by_link_text('登录'))\
.click()\
.perform()
ActionChains(driver)\
.move_to_element(driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__footerULoginBtn"]'))\
.click()\
.perform()
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__userName"]').send_keys('name')
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__password"]').send_keys('passwd')
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__submit"]').click()
time.sleep(25)#等待期间进行滑动、输入验证码工作
#获取登录成功之后的cookies
cookies = driver.get_cookies()
#保存cookies到本地
with open('./bd_login_cookies.txt','w')as f:f.write(str(cookies))
driver.quit()
return cookies if __name__ == '__main__':
#重新打开网站,无需更多操作即可登录
# get_cookies()#获取登录所需cookies
driver.delete_all_cookies()#删除cookies
driver.get(bd_url)#访问
cookies=eval(open('./bd_login_cookies.txt','r').read())#
print(cookies)
for cookie in cookies:
if 'expiry' in cookie:
del cookie['expiry']
driver.add_cookie(cookie)
driver.refresh()
》》》登录博客园《《《
from selenium import webdriver
driver=webdriver.Chrome()
driver.delete_all_cookies()
driver.get('https://account.cnblogs.com/signin?returnUrl=https%3A%2F%2Fwww.cnblogs.com%2F')
#登录操作
driver.find_element_by_xpath('//*[@id="LoginName"]').send_keys('name')
driver.find_element_by_xpath('//*[@id="Password"]').send_keys('passwd')
driver.find_element_by_xpath('//*[@id="submitBtn"]').click()
time.sleep(5)#等待期间进行滑动工作
#获取登录成功之后的cookies
cookies = driver.get_cookies()
for cookie in cookies:driver.add_cookie(cookie)#向driver添加cookies
print(cookies)
#访问上传文件页面
driver.get('https://i.cnblogs.com/files')
driver.find_element_by_xpath('/html/body/cnb-root/cnb-layout/div[2]/div[3]/div[2]/div/cnb-spinner/div/cnb-files/cnb-collapse-panel[1]/div[2]/cnb-spinner/div/div[2]/cnb-form-field/div/div/input')
selenium自动化 | 通过获取cookies登录的更多相关文章
- UI自动化之cookies登录
现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录 目录 1.webdriver的添加cookies的方法 2.举个栗子 1.webdriver的添加cookies的方法 webdr ...
- 接口自动化之cookies登录
现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录 目录 1.requests的添加cookies的方法 2.举个栗子 1.requests的添加cookies的方法 request ...
- 测试那些事儿—selenium自动化实战之登录验证码处理
登陆时经常出现验证码自动化测试如何处理呢? 一般有如下几种处理思路: 1.通过接口请求,拿到对应验证码信息 2.让开发配合把验证码改成万能验证码 3.注入cookies 如何通过注入cookies的方 ...
- python+selenium自动化禅道登录测试
本文以禅道登录测试为例,思路主要分openBrowser.openUrl.findElement.sendVals.checkResult.ReadUserdate六部分 openBrowser de ...
- python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]
背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...
- python+selenium自动化软件测试(第2章):WebDriver API
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- Selenium 自动化验收测试
Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作.但是手工执行的任务容易出现操作人员人为的错误,也比较费时间.因此,尽可能将这些任务自动化,以消除人 ...
- selenium自动化测试之整合测试报告
selenium自动化测试之整合测试报告 标签(空格分隔): 整合报告 如下截图我们添加一个文件叫做:latest_report.py文件, import time import os import ...
随机推荐
- 算法(图论)——最小生成树及其题目应用(prim和Kruskal算法实现)
题目 n个村庄间架设通信线路,每个村庄间的距离不同,如何架设最节省开销? Kruskal算法 特点 适用于稀疏图,时间复杂度 是nlogn的. 核心思想 从小到大选取不会产生环的边. 代码实现 代码中 ...
- 程序员必读的 99 本书籍 & 资源
作为程序员,始终要保持学习,一直带着纸质书还是很不便的,因此电子书对于我们还是挺需要的.为了方便广大的小伙伴也能方便找到对应的电子书,我花费洪荒之力从各个搜索网站收集了几百本常用的电子书,找到了,我要 ...
- django APIview使用
1.APIview使用 ModelVIewSet 是对 APIView 封装 ModelSerializer 是对 Serializer 1.1 在 user/urls.py 中添加路由 urlpat ...
- 精尽Spring MVC源码分析 - MultipartResolver 组件
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- Taro 3.1 beta 发布: 开放式架构新增 4 端支持
作者:凹凸曼-JJ 自 7 月初我们正式发布了 Taro 3,至今半年时间已然略去.期间我们不断地修复着问题,同时也在构想着下一个 minor 版本. 面对小程序平台越来越多的大环境,Taro 是选择 ...
- 判断一个对象是否为空?怎么得到一个对象的第几个键名(key)?
var obj = {"微信":[],"qq":[]} console.log( Object.keys(obj) ) // ["微信",& ...
- Java中构造代码块的使用
例子1 public class Client { { System.out.println("执行构造代码块1"); } { System.out.println("执 ...
- 洛谷题解 P1051 【谁拿了最多奖学金】
其实很水 链接: P1051 [谁拿了最多奖学金] 注意: 看好信息,不要看漏或看错因为信息很密集 AC代码: 1 #include<bits/stdc++.h>//头文件 2 using ...
- Flink开发中的问题
1. 流与批处理的区别 流处理系统 流处理系统,其节点间数据传输的标准模型是:当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理. 批处理系统 批处理系统, ...
- sqlmap进阶篇—POST注入三种方法
测试是否存在post注入 第一种方法 直接加--form让它自动加载表单 第二种方法 把form表单里面提交的内容复制出来,放到data中跑 第三种方法 先用burp suite抓包,把包的内容存到本 ...