(python笔记) 通过页面上传文件

发布时间 2023-10-31 10:39:11作者: 禁言无语

场景:模拟用户,通过页面上传文件的操作

 

实现方式:用 selenium+pywinauto 实现,代码如下:

from time import sleep
import
pywinauto from sysLogin import logging from pywinauto.keyboard import send_keys class report(logging): def im_report(self): sleep(5) # 进入数据导入 self.wb.find_element_by_xpath('//*[@id="app"]/section/main//span').click() sleep(3) # self.wb.execute_script('window.scrollTo(0,document.body.scrollHeight)') # 页面自带滚动条 # 滑动滚动条,内置滚动条 js = 'document.getElementsByClassName("main")[1].scrollTop=1000' self.wb.execute_script(js) # 上传文件 self.wb.find_element_by_xpath( '/html//div[1]').click() app = pywinauto.Desktop() # 获取桌面元素 app['打开'].wait('ready', 10, 1) # 根据tittle获取,并设定等待启动时间 app['打开']['Toolbar3'].click() # 激活输入框 send_keys('D:\测试文档\') # 输入目录路径 send_keys('{VK_RETURN}') # 回车键
     # 单选 app[
'打开']['文件名(&N):Edit'].type_keys('"DZ.xlsx"') # 输入文件名

     # 多选 
# send_keys('"DZ.xlsx"') # 第一个文件 # send_keys('"CT.xlsx"') # 第二个文件 # send_keys('{VK_RETURN}') # 回车键 app['打开']['打开(&O)'].click() # 点击打开按钮 # 确认导入 self.wb.find_element_by_xpath('//*[@id="pane-importData"]/div//span').click() if __name__ == '__main__': report().im_report()