在开始之前应该配置好selenium+firefox
一、得到验证码图片
只有当鼠标移动到验证码上时,图片才会显示出来。因此我们可以采用鼠标悬停的的方式显示验证码,并得到图片保存在本地。
鼠标悬停拥有两种方式,一种是悬停到具体坐标,另一种是悬停到某一具体元素。我们选择前一种,原因有两点:由于最后识别出验证码时,需要点击具体坐标(每个字并不具有相对应的元素)。并且每一次鼠标执行都会在上一次的移动的坐标下再次移动(因此需要元素的坐标)。from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver=webdriver.Firefox()
ActionChains(driver).move_by_offset(762.5,447.76).perform()
img=driver.find_element_by_xpath('//*[@id="jcaptchaimage"]')
二、验证码识别
字体验证码采用腾讯云字体识别(传输的图片信息必须是图片url或者base64编码),返回识别字体及字体位置。字体位置返回的是相对图片验证码的字体四个顶点的位置,可以设置函数,得到字体中心距离坐标(相对验证码左上角)。from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfil