|
|
|
下载地址 https://ws28.cn/f/31nrm0jp7l4
subcribe.txt查看订阅链接
有python的可以直接运行源码
付源码:
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
from PIL import Image
import ces
from ces import get_distance
import random
def save_image(driver,n):
driver.find_element_by_xpath(
'/html/body/div[6]/div[2]/div[1]/div/div[1]/div[1]/div/a/div[1]/div/canvas[2]').screenshot(str(n)+'000.png')
def get_image(n):
#time.sleep(5)
img_obj=Image.open(str(n)+'snap.png')
return img_obj
def get_distance(img1,img2):
#time.sleep(2)
start_x=60
threhold=20#阈值
for i in range(start_x,200):
for j in range(0,150):
print(i,j)
rgb1=img1.load()[i,j]
rgb2=img2.load()[i,j]
#rgb1 = img1.getpixel((i,j))
#rgb2 = img2.getpixel((i,j))
print(rgb1,rgb2)
res1=abs(rgb1[0]-rgb2[0])
res2=abs(rgb1[1]-rgb2[1])
res3=abs(rgb1[2]-rgb2[2])
print(res1,res2,res3)
print('-------------------------------')
if (res1>threhold and res2>threhold and res3>threhold):
print('normal')
print(i-7)
return i-7
def get_tracks(distance):
distance+=-1
v0=0
s=0
t=0.2
mid=distance*4/5
forward_tracks=[]
while s<distance:
if s<mid:
a=20+random.randint(1,15)
else:
a=-30
v=v0
tance=v*t+0.5*a*(t**2)
tance=round(tance)
#rr=random.randint(1,4)
s+=tance
#s+=rr
v0=v+a*t
forward_tracks.append(tance)
#forward_tracks.append(rr)
#print(forward_tracks)
#back_tracks = [-1, -1, -1, -2, -2, -2, -3, -3, -2, -2, -1]
#back_tracks = [-1, -3, -2, -1, -1]
back_tracks=[-1,-2,-1]
# 20
return {"forward_tracks": forward_tracks, 'back_tracks': back_tracks}
def login_cnblogs():
driver = webdriver.Chrome()
t=time.time()
email='jjy'+str(t)[-6:]+'@jjy.cc'
password='wocaojjy618'
print(email)
try:
# 1、输入账号密码回车
url='https://v2.freeok.xyz/auth/register?code=jjy'
username='jjyya'
#driver.implicitly_wait(3)
driver.get(url)
input_username = driver.find_element_by_id('name')
input_email = driver.find_element_by_id('email')
input_pwd = driver.find_element_by_id('passwd')
input_repwd = driver.find_element_by_id('repasswd')
driver.find_element_by_id('imtype').click()
time.sleep(1)
driver.find_element_by_xpath('//li/a[@val="1"]').click()
input_wechat = driver.find_element_by_id('wechat')
signin = driver.find_element_by_id('tos')
input_username.send_keys(username)
input_pwd.send_keys(password)
input_email.send_keys(email)
input_repwd.send_keys(password)
input_wechat.send_keys(email)
#signin.click()
driver.find_element_by_xpath('//*[@id="embed-captcha"]/div/div[3]').click()
time.sleep(3)
save_image(driver,1)
#none_img=get_image(1)#缺口图
#time.sleep(2)
driver.execute_script("var x=document.getElementsByClassName('geetest_canvas_fullbg geetest_fade geetest_absolute')[0];"
"x.style.display='block';"
"x.style.opacity=1"
)
save_image(driver,2)
time.sleep(2)
#none_img=get_image(1)
#block_img=get_image(2)#
#time.sleep(1)
'''time.sleep(1)
driver.execute_script("var x=document.getElementsByClassName('geetest_canvas_fullbg geetest_fade geetest_absolute')[0];"
"x.style.display='block';"
"x.style.opacity=0"
)
time.sleep(2)'''
geetest_slider_button=driver.find_element_by_class_name('geetest_slider_button')
#distance=get_distance(block_img,none_img)
distance=get_distance()
#print(distance)
tracks_dic=get_tracks(distance)
ActionChains(driver).click_and_hold(geetest_slider_button).perform()
forword_tracks=tracks_dic['forward_tracks']
back_tracks=tracks_dic['back_tracks']
for forword_track in forword_tracks:
ActionChains(driver).move_by_offset(xoffset=forword_track,yoffset=0).perform()
time.sleep(0.2)
for back_tracks in back_tracks:
ActionChains(driver).move_by_offset(xoffset=back_tracks, yoffset=0).perform()
#print(forword_tracks)
#ActionChains(driver).move_by_offset(xoffset=-3, yoffset=0).perform()
#ActionChains(driver).move_by_offset(xoffset=3, yoffset=0).perform()
time.sleep(0.3)
ActionChains(driver).release().perform()
time.sleep(1)
finally:
driver.close()
#print('error')
login_cnblogs()
|
|