模拟登陆小米官网并用某平台自动过验证码
Selenium、PyUserInput
第一版,需要浏览器有界面的支持,因为验证码需要右击保存
1 from selenium import webdriver 2 from time import sleep 3 from mytest.selenium.feifeidama import * 4 from selenium.webdriver.common.action_chains import ActionChains 5 from pykeyboard import PyKeyboard 6 import os 7 8 driver = webdriver.Firefox() 9 driver.get('https://www.mi.com/index.html') 10 print(driver.title) 11 12 driver.find_element_by_xpath('//a[@href="//order.mi.com/site/login?redirectUrl=https://www.mi.com/index.html"]').click() 13 driver.find_element_by_id('username').send_keys('xxxxxx') 14 sleep(1) 15 driver.find_element_by_id('pwd').send_keys('xxxxxx') 16 sleep(1) 17 driver.find_element_by_id('login-button').click() 18 19 sleep(1) 20 # 鼠标移动到验证码上并右击 21 action = ActionChains(driver).move_to_element(driver.find_element_by_id('captcha-img')) 22 action.context_click(driver.find_element_by_id('captcha-img')).perform() 23 24 # 键盘按下'v'后过一秒按下回车 25 k = PyKeyboard() 26 k.tap_key('V') 27 sleep(1) 28 k.tap_key(k.enter_key) 29 30 path = '/root/Downloads/getCode' 31 32 sleep(1) 33 # 用某平台识别图片上的验证码,个人现在用的平台是机器识别的,速度平均3-5秒6位字母数字,识别率超高,之前用的某人工识别的平台,速度太慢,识别率低 34 code = getCode(path, '300600') 35 36 sleep(1) 37 print(code) 38 driver.find_element_by_id('captcha-code').send_keys(code) 39 sleep(1) 40 driver.find_element_by_id('login-button').click() 41 42 # 删除验证码图片 43 os.remove(path) 44 print(driver.title) 45 driver.close()

浙公网安备 33010602011771号