代码拉取完成,页面将自动刷新
from selenium import webdriver
import time
from PIL import Image
from PIL import ImageGrab
from selenium.webdriver.chrome.options import Options
import requests
from hashlib import md5
opt=Options()
opt.add_experimental_option('excludeSwitches',['enable-automation'])#关闭自动化提示
opt.add_argument("--start-maximized")#最大化
bro=webdriver.Chrome(r'C:\Users\hsk\Downloads\chromedriver_win32/chromedriver.exe',options=opt)
bro.get('http://www.chaojiying.com/user/login/')
username=bro.find_elements_by_class_name("form_item")[0]
password=bro.find_elements_by_class_name("form_item")[1]
vdcode=bro.find_elements_by_class_name("form_item")[2]
vdcode_img=bro.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/div/img')
time.sleep(2)
username.send_keys('zgq001')
time.sleep(2)
password.send_keys('zgq071726')
#bro.save_screenshot('c:\\users\\hsk\desktop\\vdcode_1.png')
location=vdcode_img.location
size=vdcode_img.size
print(location,size)
box=(location['x'],location['y']+70,location['x']+size['width'],location['y']+70+size['height'])
print(box)
bro.save_screenshot('c:\\users\\hsk\desktop\\vdcode_1.png')
img=Image.open('c:\\users\\hsk\desktop\\vdcode_1.png')
vdcode_path='c:\\users\\hsk\\desktop\\vdcode_2.png'
frame=ImageGrab.grab(box)
#frame.show()
frame.save(vdcode_path)
class Chaojiying_Client(object):
def __init__(self, username, password, soft_id):
self.username = username
password = password.encode('utf8')
self.password = md5(password).hexdigest()
self.soft_id = soft_id
self.base_params = {
'user': self.username,
'pass2': self.password,
'softid': self.soft_id,
}
self.headers = {
'Connection': 'Keep-Alive',
'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
}
def PostPic(self, im, codetype):
"""
im: 图片字节
codetype: 题目类型 参考 http://www.chaojiying.com/price.html
"""
params = {
'codetype': codetype,
}
params.update(self.base_params)
files = {'userfile': ('ccc.jpg', im)}
r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files, headers=self.headers)
return r.json()
def ReportError(self, im_id):
"""
im_id:报错题目的图片ID
"""
params = {
'id': im_id,
}
params.update(self.base_params)
r = requests.post('http://upload.chaojiying.net/Upload/ReportError.php', data=params, headers=self.headers)
return r.json()
chaojiying = Chaojiying_Client('zgq001', 'zgq071726', '924951')
im = open(vdcode_path, 'rb').read()
result=chaojiying.PostPic(im, 1004)['pic_str']
vdcode.send_keys(result)
time.sleep(2)
login=bro.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/p[4]/input')
time.sleep(3)
login.click()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。