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()
思路:
- 手动登录获取到 cookie 信息
- selenium 打开的 url 为登录后的 url
- 增加 cookie 操作
- 刷新页面
代码如下:
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 怎样获取页面中“验证码”的值?的主要内容,如果未能解决你的问题,请参考以下文章