标签:登录 Dirver 验证 selenium 验证码 cookie sleep
在实际测试中会经常见到登录操作需要验证码验证登录
常见验证有以下几种:
- 验证码登录
- 图片识别
- 图片滑块识别验证
4.简单验证码计算
针对上面的登录验证解决办法有以下几种:
1.让开发去掉验证码(注释掉验证码相关代码)
2.设置万能验证码 (只适用于第一种验证码)
3 .验证码识别技术 (主要针对图片识别)
python的pytesseract库用于验证码识别
4.使用cookie记录登录,自动化脚本绕过验证环节
下面主要介绍使用cookie登录,以博客园为列,其他解决办法后面有时间再进行补充:
博客园登录验证为上图第三种:图片滑块识别验证
博客园登录页面:
第一步:获取cookie
首先编写登录脚本如下:
##登录时记得选择记住密码
1 from selenium import webdriver 2 from time import sleep 3 4 Dirver = webdriver.Chrome() 5 Dirver.maximize_window() 6 Dirver.get("https://account.cnblogs.com/signin") 7 Dirver.implicitly_wait(10) 8 Dirver.find_element_by_id('LoginName').send_keys('username') 9 Dirver.find_element_by_id('Password').send_keys('password') 10 sleep(60) 11 12 #代码运行到此处时,手动点击登录按钮并进行图片滑块验证,完成后,以下代码会获取登录成功后的页面cookie 13 14 cookies = Dirver.get_cookies() 15 print(cookies) 16 Dirver.quit()
第二步:根据获取的cookie进行登录
1 from selenium import webdriver 2 from time import sleep 3 4 5 Dirver = webdriver.Chrome() 6 Dirver.maximize_window() 7 Dirver.get("https://home.cnblogs.com/") 8 Dirver.implicitly_wait(10) 9 Dirver.add_cookie({'name':' ','value':''}) #输入第一步得到的值 10 Dirver.add_cookie({'name':'','value':''}) 11 sleep(10) 12 Dirver.get("https://home.cnblogs.com/") 13 username = Dirver.find_element_by_css_selector('#header_user_right a:nth-child(2) ').text #获取用户名 14 print(username) 15 welcome = Dirver.find_element_by_id('header_user_left').text 16 print(welcome) #获取欢迎字样 17 sleep(3) 18 19 Dirver.quit()
登陆成功后的页面如下:
标签:登录,Dirver,验证,selenium,验证码,cookie,sleep 来源: https://www.cnblogs.com/1211-1010/p/11090727.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。