环境准备:
Anaconda自带python3.6.5
selenium-3.141.0
pyperclip 用于复制中文路径
下载pykeyboard需要准备:
pywin32模块默认已安装
pyHook模块:pyHook-1.5.1-cp36-cp36m-win_amd64.whl
可从这里下载对应版本
http://www.lfd.uci.edu/~gohlke/pythonlibs/
PyUserInput模块
代码:
可能需要导入的模块:
from pymouse import *
from pykeyboard import PyKeyboard
import pyperclip
import os,sys
from selenium import webdriver
import time
def upload():
def upload(driver):
browseBtn=driver.find_element_by_xpath('浏览按钮的xpath路径')
#点击浏览按钮
browseBtn.click()
#pyperclip复制文件所在路径
pyperclip.copy(r"D:\upload\导入模板.csv")
time.sleep(5)#此处为等待windows文件资源管理器弹出时间
k=PyKeyboard()
#模拟键盘ctrl+v操作复制文件路径
k.press_key(k.control_key)
k.tap_key('v')
k.release_key(k.control_key)
time.sleep(1)
#模拟键盘回车操作
k.tap_key(k.enter_key)
#点击导入按钮
importBtn=driver.find_element_by_xpath('导入按钮的xpath路径')
#获取value属性值
print(importBtn.get_attribute('value'))
importBtn.click()
time.sleep(1)
#导入成功后弹出提示框,点击导入成功提示框确认
msgBoxYBtn=driver.find_element_by_xpath('导入成功提示框确认按钮的xpath路径')
msgBoxYBtn.click()
#回到导入界面,点击关闭按钮
closeBtn=driver.find_element_by_xpath('导入界面关闭按钮的xpath路径')
print(closeBtn.get_attribute('value'))
closeBtn.click()
由于导入文件中含中文,因此使用pyperclip先对文件名进行复制后,再用键盘模拟粘贴操作实现文件导入。若没中文,可尝试用:k.type_string(r’D:\upload\xx.csv’) 直接传入文件路径。