Python 點擊指定位置驗證碼破解的實現(xiàn)代碼
思路:
創(chuàng)建瀏覽器驅(qū)動對象
加載登錄頁面
等待頁面加載完畢
切換到用戶名和密碼登錄模式
輸入手機號, 注意此處需要等待并獲取輸入框
輸入密碼
點擊驗證按鈕
獲取彈出驗證圖片
使用超級鷹打碼平臺識別圖形的坐標
獲取到坐標信息, x,y坐標分別除以2; 由于電腦分辨率太過了, 是原來的兩倍, 如果是普通分辨率可以除以2,直接用就可以了.
把鼠標移動到, 坐標點的位置進行點擊
點擊登錄按鈕
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver import ActionChains
import time
# 導入超級鷹
from chaojiying import chaojiying
#根據(jù)系統(tǒng),可能截圖不成功,需要使用無頭瀏覽,mac系統(tǒng)可以不設(shè)置
options=webdriver.ChromeOptions()
options.headless=True
driver=webdriver.Chrome(options=potions)
driver.get('http://www.zhaopingou.com/signin')
driver.find_element_by_class_name('li02').click()
wait=WebDriverWait(driver,20,0.5)
# 賬號登錄
login_phone=wait.until(EC.visibility_of_element_located((By.ID,'pwd_login_phone')))
login_phone.send_keys('17724035140')
# 密碼
driver.find_element_by_id('form_login_password').send_keys('961831740hzll')
# 點擊獲取圖片
captcha = wait.until(EC.visibility_of_element_located((By.XPATH, '//div[@class="phone_login_pwd"]//iframe[starts-with(@id, "captcha_widget")]')))
captcha.click()
# 點擊
# 保存圖片(可以不保存)
captcha_element = wait.until(EC.visibility_of_element_located((By.XPATH, '//body[@class="graybc"]//iframe[starts-with(@id, "captcha_frame")]')))
captcha_element.screenshot('zhaopingou.png')
# 將圖片轉(zhuǎn)換為二進制
bytes_img=captcha_element.screenshot_as_png
# print(bytes_img)
result=chaojiying.post_pic(bytes_img,'9101')
x,y=result['pic_str'].split(',')
print(x,y)
x=int(x)
y=int(y)
# ActionChains(driver).move_to_element_with_offset(bytes_img,x,y).click().perform()
ActionChains(driver).move_to_element_with_offset(captcha_element, x, y).click().perform()
time.sleep(2)
driver.find_element_by_id('free_login_btn').click()
print(driver.window_handles)
driver.switch_to.window(driver.window_handles[0])
# time.sleep(5)
driver.quit()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解
這篇文章主要介紹了Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
一個基于flask的web應(yīng)用誕生 使用模板引擎和表單插件(2)
一個基于flask的web應(yīng)用誕生第二篇,這篇文章主要介紹了如何使用jinja2模板引擎和wtf表單插件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Pandas庫中dataframe.corr()函數(shù)的使用
dataframe.corr()是Pandas庫中的一個函數(shù),用于計算DataFrame中各列之間的相關(guān)系數(shù),本文主要介紹了Pandas庫中dataframe.corr()函數(shù)的使用,具有一定的參考價值,感興趣的可以了解一下2024-07-07

