• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

selenium+cookie跳过验证码登录实现步奏详解

python 搞代码 4年前 (2022-01-09) 25次浏览 已收录 0个评论

这次给大家带来selenium+cookie跳过验证码登录实现步奏详解,selenium+cookie跳过验证码登录的注意事项有哪些,下面就是实战案例,一起来看一下。

思路如上,代码如下:

2.1、正常登录获取有效cookie

# FileName : getLoginCookie.py# Author  : Adil# DateTime : 2018/3/20 21:43# SoftWare : PyCharmimport yaml,time,osfrom selenium import webdriverurl = 'https://system.address'driver = webdriver.Chrome()driver.get(url)driver.maximize_window()time.sleep(2)driver.find_element_by_id("username").clear()driver.find_element_by_id("username").send_keys("username")driver.implicitly_wait(5)driver.find_element_by_id("password").clear()driver.find_element_by_id("password&quo<span style="color:transparent">来1源gaodai#ma#com搞*代#码1网</span>t;).send_keys("password")print("请输入验证码:")# 手动输入验证码security_code = input()time.sleep(1)driver.find_element_by_id("security_code").send_keys(security_code)time.sleep(1)driver.find_element_by_id('sign_btn').click()driver.implicitly_wait(5)# 加一个休眠,这样得到的cookie 才是登录后的cookie,否则可能打印的还是登录前的cookietime.sleep(5)cookiesAfter = driver.get_cookies()len1 = len(cookiesAfter)# 已经知道需要第几个cookie,这里需要第3个cookie,所以选择cookie下标为2cookie1 = cookiesAfter[2]# 获取当前文件所在路径fileNamePath = os.path.split(os.path.realpath(file))[0]# 拼接config.yaml文件绝对路径yamlPath = os.path.join(fileNamePath,'config.yaml')# 以覆盖写入打开文件fw = open(yamlPath,'w',encoding='utf-8')# 构建数据data = {"cookie1":cookie1}# 装载写入yaml文件。yaml.dump(data,fw)driver.quit()

2.2、读取cookie配置文件,使用cookie登录系统

# FileName : stlUseCookieLogin.py# Author  : Adil# DateTime : 2018/3/20 21:48# SoftWare : PyCharmfrom selenium import webdriverimport time,yaml,osurl = 'https://system.address'driver = webdriver.Chrome()driver.maximize_window()driver.delete_all_cookies()time.sleep(3)driver.get(url)fileNamePath = os.path.split(os.path.realpath(file))[0]yamlPath = os.path.join(fileNamePath,'config.yaml')# 读取yaml 文件f = open(yamlPath,'r',encoding='utf-8')cont = f.read()conf = yaml.load(cont)# 读取cookie值cookie1 = conf.get("cookie1")# 添加cookiedriver.add_cookie(cookie1)print("cookies")print(driver.get_cookies())time.sleep(5)# 这里重新获取地址,因为有些系统,未登录状态,链接会跳转,这里就是,登录状态后,才能正确打开指定网址,所以这里要再次指定网址。driver.get(url)# 刷新查看登录状态driver.refresh()time.sleep(5)driver.quit()

相信看了本文案例你已经掌握了方法,更多精彩请关注搞代码其它相关文章!

推荐阅读:

python读取文本数据并转化为DataFrame格式的方法详解

python如何调用API实现智能回复功能

以上就是selenium+cookie跳过验证码登录实现步奏详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:selenium+cookie跳过验证码登录实现步奏详解
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址