日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python实训第七天

發(fā)布時(shí)間:2025/6/15 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实训第七天 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
# 破解博客園登錄驗(yàn)證
# 1.輸入用戶名與密碼并點(diǎn)擊登錄
# 2.探出滑動(dòng)驗(yàn)證,獲取有缺口與完整的圖片
# 3.通過像素點(diǎn)進(jìn)行對(duì)比,獲取滑動(dòng)距離
# 4.模擬人的行為軌跡
# 5.開始滑動(dòng)

''''''
'''
破解極驗(yàn)滑動(dòng)驗(yàn)證
破解極驗(yàn)滑動(dòng)驗(yàn)證
博客園登錄url:
https://account.cnblogs.com/signin?returnUrl=https%3A%2F%2Fwww.cnblogs.com%2F

代碼邏輯:
1、輸入用戶名與密碼,并點(diǎn)擊登錄
2、彈出滑動(dòng)驗(yàn)證,獲取有缺口與完整的圖片
3、通過像素點(diǎn)進(jìn)行比對(duì),獲取滑動(dòng)位移距離
4、模擬人的行為軌跡
5、開始滑動(dòng)

'''
from selenium import webdriver # 用來(lái)驅(qū)動(dòng)瀏覽器的
from selenium.webdriver import ActionChains # 破解滑動(dòng)驗(yàn)證碼的時(shí)候用的 可以拖動(dòng)圖片
import time
from PIL import Image # pip3 install pillow
import random


# 截圖圖片函數(shù)
def cut_image(driver):
# 獲取整個(gè)頁(yè)面圖片,圖片名字為'snap.png'
driver.save_screenshot('snap.png')

# 獲取滑動(dòng)小畫圖
image = driver.find_element_by_class_name('geetest_canvas_img')
print(image.location)
print(image.size)

# 獲取小圖片的左上右下的位置
left = image.location['x']
top = image.location['y']
right = left + image.size['width']
buttom = top + image.size['height']
print(left, top, right, buttom)

# 調(diào)用open方法打開全屏圖片并賦值給image_obj對(duì)象
image_obj = Image.open('snap.png')

# 通過image_obj對(duì)象對(duì)小圖片進(jìn)行截取
# box: The crop rectangle, as a (left, upper, right, lower)-tuple.
img = image_obj.crop((left, top, right, buttom))
# 打開截取后的小圖片
# img.show()
return img


# 獲取完整圖片
def get_image1(driver):
time.sleep(2)

# 修改document文檔樹,把完整圖片的display屬性修改為block
js_code = '''
var x = document.getElementsByClassName("geetest_canvas_fullbg")[0].style.display = "block";
'''

# 執(zhí)行js代碼
driver.execute_script(js_code)

# 截取圖片
image = cut_image(driver)

return image


# 獲取有缺口圖片
def get_image2(driver):
time.sleep(2)

# 修改document文檔樹,把完整圖片的display屬性修改為block
js_code = '''
var x = document.getElementsByClassName("geetest_canvas_fullbg")[0].style.display = "none";
'''

# 執(zhí)行js代碼
driver.execute_script(js_code)

# 截取圖片
image = cut_image(driver)

return image


# 獲取滑塊滑動(dòng)距離
def get_distance(image1, image2):
# 小滑塊右側(cè)位置
start = 60

# 像素差
num = 60
print(image1.size)
for x in range(start, image1.size[0]):
for y in range(image1.size[1]):

# 獲取image1完整圖片每一個(gè)坐標(biāo)的像素點(diǎn)
rgb1 = image1.load()[x, y]

# 獲取image2缺口圖片每一個(gè)坐標(biāo)的像素點(diǎn)
rgb2 = image2.load()[x, y]
# (60, 86, 40) (60, 86, 40) rgb
print(rgb1, rgb2)

# abs獲取絕對(duì)值, 像素點(diǎn)比較的值
r = abs(rgb1[0] - rgb2[0])
g = abs(rgb1[1] - rgb2[1])
b = abs(rgb1[2] - rgb2[2])

# 如果條件成立,則找到缺口位置
if not (r < num and g < num and b < num):
# 有誤差 - 7像素
return x - 7


# 模擬人的滑動(dòng)軌跡
def get_strck_move(distance):
distance += 20

'''
滑動(dòng)行為軌跡
加速公式:
v = v0 + a * t

路程公式:
s = v0 * t + 0.5 * a * (t ** 2)
'''

# 初速度
v0 = 0

# 時(shí)間
t = 0.2

# 位置
s = 0

# 滑動(dòng)軌跡列表 向前滑動(dòng)列表
move_list = []

# 中間值,作為加減速度的位置
mid = distance / 5 * 3

# 加減速度列表
v_list = [1, 2, 3, 4]

# 循環(huán)位移
while s < distance:
if s < mid:
# 隨機(jī)獲取一個(gè)加速度
a = v_list[random.randint(0, len(v_list) - 1)]

else:
# 隨機(jī)獲取一個(gè)減速度
a = -v_list[random.randint(0, len(v_list) - 1)]

'''
勻加速\減速運(yùn)行
v = v0 + a * t

位移:
s = v * t + 0.5 * a * (t**2)
'''
# 獲取初始速度
v = v0

# 路程公式:
s1 = v * t + 0.5 * a * (t ** 2)
s1 = round(s1) # 取整

# 加速公式:
# v = v0 + a * t
m_v = v + a * t

# 把當(dāng)前加/減速度賦值給初始速度,以便下一次計(jì)算
v0 = m_v

# 把位移添加到滑動(dòng)列表中
move_list.append(s1)

# 修改滑動(dòng)初始距離
s += s1

# 后退列表, 自定義后退滑動(dòng)軌跡,必須是負(fù)值
back_list = [-1, -1, -2, -3, -2, -1, -1, -2, -3, -2, -1, -1]

return {'move_list': move_list, 'back_list': back_list}


def main():
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('https://account.cnblogs.com/signin?returnUrl=https%3A%2F%2Fwww.cnblogs.com%2F')

# 1、輸入用戶名與密碼,并點(diǎn)擊登錄
user_input = driver.find_element_by_id('LoginName')
user_input.send_keys('大蜘蛛007')
time.sleep(0.2)

pwd_input = driver.find_element_by_id('Password')
pwd_input.send_keys('@bb18861558365')
time.sleep(2)

login_submit = driver.find_element_by_id('submitBtn')
login_submit.click()

# 2、獲取完整的圖片
image1 = get_image1(driver)

# 3、獲取有缺口圖片
image2 = get_image2(driver)

# 4、比對(duì)兩張圖片,獲取滑動(dòng)距離
distance = get_distance(image1, image2)
print(distance)

# 5、模擬人的滑動(dòng)軌跡
move_dict = get_strck_move(distance)
# 獲取前進(jìn)滑動(dòng)軌跡
move_list = move_dict['move_list']
# 獲取后退滑動(dòng)軌跡
back_list = move_dict['back_list']

# 6、開始滑動(dòng)
move_tag = driver.find_element_by_class_name('geetest_slider_button')
# 點(diǎn)擊摁住滑動(dòng)按鈕
ActionChains(driver).click_and_hold(move_tag).perform()

# 向前滑動(dòng)
for move in move_list:
ActionChains(driver).move_by_offset(xoffset=move, yoffset=0).perform()
time.sleep(0.1)

time.sleep(0.1)

# 向后滑動(dòng)
for back in back_list:
ActionChains(driver).move_by_offset(xoffset=back, yoffset=0).perform()
time.sleep(0.1)

# 制作微妙晃動(dòng)
ActionChains(driver).move_by_offset(xoffset=3, yoffset=0).perform()
ActionChains(driver).move_by_offset(xoffset=-3, yoffset=0).perform()

time.sleep(0.1)

# 釋放滑動(dòng)按鈕
ActionChains(driver).release().perform()

time.sleep(100)


if __name__ == '__main__':
main()


轉(zhuǎn)載于:https://www.cnblogs.com/7777qqq/p/11062449.html

總結(jié)

以上是生活随笔為你收集整理的python实训第七天的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲国产成人精品久久久 | 国产精品白嫩极品美女视频 | 亚洲视频精品在线观看 | 精品无码一区二区三区 | 日韩精品人妻无码一本 | 欧美一区二区三区四区五区六区 | 天天做天天爱 | 成人在线不卡 | 狼性av懂色av禁果av | 日韩毛毛片 | 日韩三级视频在线观看 | a级在线看| 日本大胆裸体做爰视频 | 青青草成人在线 | 日韩av在线电影 | av看片 | 欧美日韩在线免费视频 | 调教一区二区 | 久艹伊人 | 国产无遮挡一区二区三区毛片日本 | 日韩欧美国产一区二区三区在线观看 | 碧蓝之海动漫在线观看免费高清 | 男人的天堂国产 | 亚洲久久久 | 好吊妞一区二区三区 | 日韩欧美国产综合 | 久久久久久久久久99 | 色悠久 | 加勒比毛片 | 国产无遮挡aaa片爽爽 | 国产学生美女无遮拦高潮视频 | 中文字幕丰满乱子伦无码专区 | 欧美大片大全 | av大帝| 欧美日韩黄色片 | 爱爱网站免费 | 97超碰伊人 | 成人调教视频 | 色综合天天综合 | 在线色播 | 成年人免费观看网站 | 成人在线小视频 | 麻豆激情视频 | 一级淫片免费 | 神马影院一区二区三区 | 国精品一区二区 | 成人免费毛片高清视频 | 三级av在线免费观看 | 精品人妻无码一区二区三区蜜桃一 | 国产又大又粗又硬 | 国产精品视频免费观看 | 在线亚洲欧美 | 欧美成人精品一区二区综合免费 | 美国成人免费视频 | 用舌头去添高潮无码视频 | 久久激情网站 | 香蕉视频在线网站 | 黑人借宿巨大中文字幕 | 综合久久综合 | 91麻豆精品国产91久久久更新时间 | 成人黄色免费视频 | 日韩三级在线观看 | 国产乱淫a∨片免费视频 | 精品国产中文字幕 | 亚洲最新视频 | 永久在线 | 日产久久久久久 | 三上悠亚人妻中文字幕在线 | 欧美日韩国产精品 | 杨幂一区二区三区免费看视频 | 在线观看中文字幕 | 国产丝袜美腿一区二区三区 | 亚洲区小说区图片区 | 午夜在线视频 | 男男受被啪到高潮自述 | 99er在线观看 | 91久久精 | 日批视频免费观看 | 精品蜜桃一区二区三区 | 国产精品扒开腿做爽爽爽视频 | 欧美日韩国产免费一区二区三区 | av福利在线观看 | 久久精品日韩 | 日本一区二区在线看 | 人体毛片 | 国产成人精品综合久久久久99 | 久久66热这里只有精品 | 中文字幕中文在线 | 日本五十肥熟交尾 | 色呦呦一区二区三区 | 2023国产精品 | 国产精品888 | 欧美 另类 交| 亚a在线| 久国产精品 | 午夜精品久久久久久久久久久久久 | 性视频久久 | 亚洲精品91天天久久人人 | 国内自拍在线 |