#web自动化上传文件
#使用pywinauto库+控件检测工具ViewWizard

from selenium import webdriver
import os
from pywinauto import Desktop
from pywinauto.keyboard import send_keys


from selenium.webdriver.common.by import By

current_path=os.path.dirname(__file__)
path=os.path.join(current_path,'./webdriver/chromedriver')

driver=webdriver.Chrome(executable_path=path)
driver.get('https://www.layui.com/demo/upload.html')
driver.find_element_by_id("test1").click()

#选择图片进行上传
#创建一个操作桌面窗口的对象
app=Desktop()
dlg=app['打开'] #窗口标题打开
dlg['Toolbar3'].click() #选择文件地址输入的控件
send_keys('C:\\Users\\Administrator\\Desktop\\pic') #输入文件地址
send_keys('{VK_RETURN}') #回车
dlg['文件名(&N):Edit'].type_keys('jxyjr2.jpg')#选择文件名输入的控件输入文件名
dlg['打开(&O)'].click() #点击打开按钮
# dlg.print_ctrl_ids() #打印窗口的控件信息

#上传多个文件
driver.execute_script('window.scrollBy(0,500)') #向下滚动500个像素
driver.find_element(By.XPATH,'//button[@id="test2"]').click()

app=Desktop()
dlg=app['打开']
dlg['Toolbar3'].click()
send_keys('C:\\Users\\Administrator\\Desktop\\pic')
send_keys('{VK_RETURN}')
dlg['文件名(&N):Edit'].type_keys('"jxyjr2.jpg" "jxyjr3.jpg"')#输入多个文件名,空格隔开
dlg['打开(&O)'].click()