@畅心 昨天的实现效果自己查询改了改,弄成了个半自动化,求大神相助。
import os#自行下载安装此库
import time#自行下载安装此库
import xlrd#自行下载安装此库
import win32api
import win32con
import win32clipboard
from ctypes import *
from selenium import webdriver#自行下载安装此库
from selenium.webdriver.common.keys import Keys
chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
fileName=r"C:\Users\geweier\Desktop\测试.xlsx" #需要查询的快递单号信息excel存放位置
bk=xlrd.open_workbook(fileName) #打开excel
shxrange=range(bk.nsheets)#获取excel表页数量序号编码
try:
sh=bk.sheet_by_name("Sheet1")#通过表页名称定位单号所在表页
except:
print("代码出错")
driver = webdriver.Chrome(chromedriver)
driver.maximize_window()
driver.get("https://www.ickd.cn")
assert "爱查快递" in driver.title
nrows=sh.nrows #获取行数,识别单号查询次数
for i in range(0,nrows):
e=sh.row_values(i)[0]
elem = driver.find_element_by_name("mailNo")#找到输入单号的框
elem.send_keys(e)#将excel中的单号数据复制粘贴录入
elem.send_keys(Keys.RETURN)#点击查询
time.sleep(2)
# 使用ctrl+shift+p调出打印界面
win32api.keybd_event(0x11, 0, 0, 0)
win32api.keybd_event(0x10, 0, 0, 0)
win32api.keybd_event(0x50, 0, 0, 0)
win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(0x10, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(0x50, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(1)
# 使用系统默认打印机打印按下回车
win32api.keybd_event(0x0D, 0, 0, 0)
win32api.keybd_event(13,win32con.KEYEVENTF_KEYUP,0)
time.sleep(2)
# 输入另存为文件名后按下回车
win32api.keybd_event(0x0D, 0, 0, 0)
win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(6)
driver.refresh()
driver.close()
driver.quit()
最后一步手动改pdf文件名名字,点击了下回车键。这一步咋破????想自动以单后命名