保单影像提交
import win32api#处理系统弹框
import win32gui
import win32con
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 pykeyboard import PyKeyboard#系统按键
from pymouse import PyMouse#系统鼠标
import time#时间模块
from selenium.webdriver.common.keys import Keys#webdriver的键盘
import shutil#可以移动文件
import os#处理win系统
import sys#python系统
import re#正则模块
from PIL import Image#展示图片
from PIL import ImageEnhance#文件数字转换成图片
import PIL
from io import BytesIO#二进制
import importlib
importlib.reload(sys)
basic_dir=r'D:\00000'#基础地址,文件地址
wenjian_list=os.listdir(basic_dir)#文件夹下所有的压缩包
#print(wenjian_list)
m=PyMouse()#实例化鼠标
k=PyKeyboard()#实例一个键盘
executable_path=r'geckodriver.exe'#geckodriver驱动路径
firefox_binary=r'.\Mozilla Firefox\firefox.exe'#Firefox启动路径
driver = webdriver.Firefox(executable_path=executable_path,firefox_binary=firefox_binary)
driver.get('https://ft.95552.cc:8001/claimweb/Pages/Frame/Login.aspx')
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,'//html')))
time.sleep(1)
txtName=driver.find_element_by_tag_name('input[name="txtName"]')
#print(txtName,1)
txtName.send_keys('10301614B')
time.sleep(0.5)
txtPWD=driver.find_element_by_tag_name('input[name="txtPWD"]')
txtPWD.send_keys('Yong+1234')
time.sleep(0.5)
#print(txtPWD,2)K
imgVerifyCode=driver.find_element_by_tag_name('img[id="imgVerifyCode"]')
#验证码位置
#print(imgVerifyCode.size,3)#{'height': 23.0, 'width': 80.0} 3
#print(imgVerifyCode.location,4)#{'x': 783, 'y': 397} 4
shg=imgVerifyCode.location['y']+90#上
xia=imgVerifyCode.location['y']+imgVerifyCode.size['height']+110#下
zuo=imgVerifyCode.location['x']+200#左
you=imgVerifyCode.location['x']+imgVerifyCode.size['width']+220#右
pic=driver.get_screenshot_as_png()#截屏
pic=Image.open(BytesIO(pic))#二进制转换成文件
pic=pic.crop((zuo,shg,you,xia))
pic = pic.convert('RGBA') # 转换模式:L | RGB
pic = pic.convert('L') # 转换模式:L | RGB
pic = ImageEnhance.Contrast(pic) # 增强对比度
pic = pic.enhance(2.0) # 增加饱和度
pic.show()#弹出图片
yzmsr=driver.find_element_by_tag_name('input[id="textfield3"]')
print('请输入您看到的验证码,然后回车')
yzm=input('请输入>>>')
time.sleep(10)
yzmsr.send_keys(yzm)
time.sleep(0.5)
denglu=driver.find_element_by_tag_name('input[id="btnLogin"]')
denglu.click()
time.sleep(1)
k.press_key(k.return_key)
k.release_key(k.return_key)
#等待加载页面
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,'//html')))
time.sleep(10)
zhankai=driver.find_element_by_tag_name('div[title="Open"]')
webdriver.ActionChains(driver).move_to_element(zhankai).click(zhankai).perform()
time.sleep(1)
zonghezongxin=driver.find_element_by_xpath('//div[@id="accordion"]/h3[4]/a')
zonghezongxin.click()
time.sleep(1)
yingxiangbc=driver.find_element_by_id("M010510")
yingxiangbc.click()
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,'//html')))
time.sleep(1)
def a(bdhao,lujing):
baodanhao=driver.find_element_by_id("ipt_policy_no")
baodanhao.clear()
time.sleep(0.5)
baodanhao.send_keys(bdhao)
time.sleep(1)
chaxun=driver.find_element_by_id("btnClik")
chaxun.click()
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,'//html')))
time.sleep(5)
#peianhao=driver.find_element_by_xpath('//tbody/tr[@class="eror"][position()=last()]/td[1]')
peianhao=driver.find_elements_by_tag_name('td[class="sorted"]')[-2]
print(peianhao)
peianhao.click()
time.sleep(1)
windows=driver.window_handles
driver.switch_to_window(windows[-1])
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,'//html')))
time.sleep(7)
daoru=driver.find_element_by_id("imageImport_id")
daoru.click()
time.sleep(2)
windowtitle="文件上传"
hwnd = win32gui.FindWindow(None,windowtitle)#主窗口
print(hwnd)
hWndChildList = []
win32gui.EnumChildWindows(hwnd,lambda hWnd,param:param.append(hWnd), hWndChildList)
print(hWndChildList)
count=0
handle=hWndChildList[16]
win32api.SendMessage(handle, win32con.WM_SETTEXT, 0, lujing)
time.sleep(2)
k.press_key(k.return_key)
k.release_key(k.return_key)
k.press_key(k.return_key)
k.release_key(k.return_key)
time.sleep(1)
k.press_key(k.return_key)
k.release_key(k.return_key)
time.sleep(2)
xuanzhong=driver.find_element_by_xpath('//li[@class="ui-sortable-div"]')
xuanzhong.click()
time.sleep(1)
guilei=driver.find_element_by_tag_name('''button[onclick="showDocSelection(null, '归类至')"]''')
guilei.click()
time.sleep(3)
sr=driver.find_element_by_tag_name('input[placeholder="可输入条件模糊查询"]')
sr.click()
time.sleep(1)
lpsqb=driver.find_element_by_tag_name('a[title="理赔申请表"]')
webdriver.ActionChains(driver).move_to_element(lpsqb).click(lpsqb).perform()
#lpsqb.click()
time.sleep(2)
qd=driver.find_element_by_tag_name('input[value="确 定"]')
try:
qd.click()
except:
qd.click()
time.sleep(2)
tijiao=driver.find_element_by_tag_name('button[id="batchSubmit_id"]')
tijiao.click()
time.sleep(1)
#win32api.SendMessage(hwnd, win32con.WM_SETTEXT, 0, r'C:\Users\dell\Desktop\新建文本文档.txt'.encode('gbk'))
k.press_key(k.return_key)
k.release_key(k.return_key)
time.sleep(1)
k.press_key(k.return_key)
k.release_key(k.return_key)
time.sleep(2)
driver.close()
handler=driver.window_handles[0]
driver.switch_to_window(handler)
time.sleep(2)
for wenjian in wenjian_list:
baodanhao1=wenjian.split('_')[0]#保单号
wenjian_path1=os.path.join(basic_dir,wenjian)#文件路径
a(baodanhao1,wenjian_path1)

浙公网安备 33010602011771号