文件上传的2种方式
(1)input类型的
(2)非input类型的
# coding:utf-8
from selenium import webdriver
import win32com.client
import time
driver = webdriver.Chrome(chromedriver.exe路径)
# 自己写的一个input文件类型HTML
driver.get("file_upload.html")
time.sleep(2)
driver.implicitly_wait(20)
# input文件上传类型
# 直接定位input元素, 然后发送文件路径即可
driver.find_element_by_name("pic").send_keys("test.png")
time.sleep(2)
# 非input类型上传文件
# 模拟键盘敲击的方式实现
# 需要安装的模块:pip install pypiwin32
driver.get("https://tinypng.com/")
driver.find_element_by_css_selector("figure.icon").click()
# 实例化shell对象
shell = win32com.client.Dispatch("WScript.shell")
# 加载弹框时间,需要强制预留
time.sleep(5)
# 模拟键盘输入,并按回车
# 测试的时候记得把输入法切换到英文状态
# 自测搜狗输入法中英文状态都不行,我是切换到微软英文状态测试的
shell.Sendkeys("test.png\n\n")
time.sleep(10)
# 退出浏览器
driver.quit()
备注:
input类型HTML代码