selenium 怎样获取页面中“验证码”的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium 怎样获取页面中“验证码”的值?相关的知识,希望对你有一定的参考价值。

参考技术A 根据我的认知,无解。
测试环境的话,请开发人员屏蔽掉,或者设置一个通用的验证码。

Selenium—通过cookies跳过验证码登录

通过cookies跳过验证码登录

  现在很多的登录都需要验证,而验证相对复杂,需要花费大量的时间,那么我们就可以通过cookie,来跳过登录

cookie怎么获取

  我们可以通过手动登录,来获取登录时的cookie值

    • 通过Fiddler抓包获取cookie值

    • 通过开发者工具--Network 中获取cookie值

    • https://www.gglott.com.cn/WXDefault.aspx?home=1 登录为例

技术图片

 

添加cookie

  • driver.add_cookie()

思路:

  1. 手动登录获取到 cookie 信息
  2. selenium 打开的 url 为登录后的 url
  3. 增加 cookie 操作
  4. 刷新页面

 

代码如下:

from selenium import webdriver
import time

url = https://www.gglott.com.cn/WXDefault.aspx?home=1
driver = webdriver.Chrome()
driver.get(url)

# 添加Cookie
# 将 fiddler 中抓到的 cookie 放到对应值中
driver.add_cookie(name: UM_distinctid, value: 16b40aa1fd-453beb6d816-100200-40aa402418c)
driver.add_cookie(name: CNZZDATA1264318323, value: 10965-1571-%7C1038)
driver.add_cookie(name: ASP.NET_SessionId, value: w0jpzfiycjnm)

# 刷新页面
driver.refresh()

driver.implicitly_wait(3)

# 如果不加cookie 执行该步操作,则会提示登录
# 点击胜平负200
driver.find_element_by_xpath(//ul[@id="iconsBox"]//a[@href="/WXDefault.aspx?dc=200"]).click()

time.sleep(5)
driver.quit()

 

以上是关于selenium 怎样获取页面中“验证码”的值?的主要内容,如果未能解决你的问题,请参考以下文章

selenium 自动化测试登录,登录页面有一个随机图片,应该怎么处理?

selenium之滑块验证码破解代码详解

selenium解决验证码的方法

Selenium UI自动化验证码:识别+输入

selenium自动化测试之--验证码处理

Mac + Python + Selenium之获取验证码图片code并进行登录