selenium自动化登录(实战解析)

news/2024/11/28 11:56:00/

目录

1.纯英文验证码

1.首先需要了解运行所需要的模块

2.获取我们的目标地址链接

3.进入古诗词首页面,找到验证码的标签,获取并且保存

4.调用超级鹰打码平台

5.调用超级鹰内的方法

6.输入账号密码

7.模拟登陆需要用cookie保持登陆状态


相信有很多新手小白都跟我遇到一样的问题,在验证码识别这一块出现了很多的问题。
那么,我是对于那些截图的验证码的提交的方法有些混乱,但是,有些打码平台给出的案列呢,又无法看明白,搞了几天都没能搞出来的。这一种是非常的痛苦的。那么对于自动化登录,验证码的类型有非常的多。列子如下:

  • 纯英文
  • 纯数字
  • 英文加上数字
  • 滑块
  • 双滑块
  • 计算
    等等一系列的类型。那么今天就写一下自己的,搞了几天滑块验证码,图案点击验证码,没搞出来从而放弃转向那种比较简单一点点的验证码。纯英文验证码的案列。(以古诗词网为列子)

1.纯英文验证码

1.首先需要了解运行所需要的模块

```
from selenium import webdriver#浏览器驱动
from PIL import Image#ORC识别图片
from pc.chaojiying_Python.chaojiying import Chaojiying_Client
from selenium.webdriver.common.by import By#元素查找方法
from requests_html import HTMLSession
import time
```

2.获取我们的目标地址链接

```
# 创建请求对象
session = HTMLSession()
# 创建浏览器驱动对象
driver = webdriver.Chrome()url = 'http://www.jianjiaoshuju.com/path/login.htm'
driver.maximize_window()
driver.get(url)
```

3.进入古诗词首页面,找到验证码的标签,获取并且保存

```
img = driver.find_element(By.XPATH, '//*[@id="imgCode"]')img.screenshot('gus.png')
```

4.调用超级鹰打码平台


下载之后,将文件夹复制粘贴在自己项目目录下,并且导入

`from pc.chaojiying_Python.chaojiying import Chaojiying_Client`

5.调用超级鹰内的方法

```
chaojiying = Chaojiying_Client('超级鹰账号', '密码', '软件id号')	#用户中心>>软件ID 生成一个替换 96001
im = open('gus.png', 'rb').read()													#本地图片文件路径 来替换 a.jpg 有时WIN系统须要//
result = chaojiying.PostPic(im, 3004)#3004,验证码类型
print(result)
```

6.输入账号密码

```
driver.find_element(By.XPATH, '//*[@id="email"]').send_keys('古诗词账号')
time.sleep(0.5)
driver.find_element(By.XPATH, '//*[@id="pwd"]').send_keys('密码')
time.sleep(0.5)
driver.find_element(By.XPATH, '//*[@id="code"]').send_keys(result)time.sleep(2)
# 点击确定按钮
driver.find_element(By.XPATH, '//*[@id="denglu"]').click()
time.sleep(2)
```

7.模拟登陆需要用cookie保持登陆状态

```
"""
selenium自动化登录,获取cookie,结合requests获取登录之后的数据
将cookie列表里面里面的元素进行key取value来组合新的字典
name的value值作为key值
value的value值作为value
"""
cookie_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()}
url = 'https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'
headers = {# 'Host': 'www.jianjiaoshuju.com',# 'Referer': 'http://www.jianjiaoshuju.com/path/login.htm',# 'Upgrade-Insecure-Requests': '1','user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
response = session.get(url, headers=headers, cookies=cookie_dict).content.decode()
print(response)```

 


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!


http://www.ppmy.cn/news/686937.html

相关文章

最大电流1A,峰值电流1.1A单节锂离子电池充电芯片DP4056使用注意事项

描述 DP4056 是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。其底部带有散热片ESOP8/EMSOP8封装与较少的外部元件数目使得DP4056成为便携式应用的理想选择。DP4056 可以适合 USB 电源和适配器电源工作。由于采用了内部PMOSFET 架构,加上防倒充电路&a…

一种锂电池充电器的设计方案(使用LM317)

设计一个能够实现以下功能的锂电池充电器 当电池电压小于4.2V时,进行恒流充电,充电电流可以调整,范围:100~500mA;当电池电压达到4.2V时,进行恒压充电,保持在4.2V的恒压;进入恒压充电…

锂离子电池电量计原理概述

锂离子电池在当今的移动电子设备中使用非常广泛,其具有能量密度高,没有充放电记忆效应的优点,但是不能进行大电流充放电,且过充过放性能较差,长时间放置不用且不充电的话就会失效。 1. 锂离子电池相关概念 1.1 电池化…

锂离子电池电量计的选择

电池管理中,电量计负责估计电池容量可使电池发挥更大更优的性能,延长系统使用时间,本篇文章介绍电量计检测方法以及各方法优缺点。 基本概念 荷电状态SOC(State-Of-Charge) SOC实际是指容量的百分比,即电池剩余容量与总容量的比…

推荐一个共享充电宝小程序

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天推荐一个共享充电宝小程序 二、实现功能 该项目使用uniapp开发的,可打包成小程序,app。app并没有适配,还需要自己改改东西。 三、技术选型 uniapp 四、界面展示 五、…

【学习周报】

最近看过的几篇论文里,VALOR和InstructBLIP模型使用了cross-attention机制,以这两篇论文为基础着重学习cross-attention相关的代码和思路。 学习内容: cross-attention机制学习lstm与transformer 学习时间: 6.26 ~ 7.1 学习笔记…

全程面试辅导,保驾护航!

你好,我是田哥 最近,从很多朋友沟通中发现个问题,这个问题就是大部分人面试都需要有人辅导。主要是一个人复习很容易陷入误区,容易把很多时间和精力都浪费在一些没有什么价值的地方,并且效果很不理想。 通过大家的反馈…

众多租车平台,神州租车是如何脱颖而出的?

现在市面上的租车平台有很多,我从大学期间拿到驾照后,就喜欢租车到处转转。刚开始也会租其他平台的车,大部分车的内饰都很不干净,有时候租的车也会有座椅咯吱响的情况,或者就是租到车的车龄非常大,那种一坐…