selenium自动化测试-文件上传

文件上传

  1. 直接通过send_key上传
  2. 通过点击win窗口上传

直接通过send_key上传

这种方法与向input标签中输入文本一样

import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("https://sahitest.com/demo/php/fileUpload.htm")

ele = driver.find_element(By.CSS_SELECTOR, '#file')
ele.send_keys(r"D:\python\student\014-selenium\绘图1.png")
time.sleep(10)
driver.quit()

通过点击win窗口上传

  • 第三方工具:Autoit V3
  • 第三方模块:pyautoit

第三方工具简单介绍

下载地址:

链接:https://pan.baidu.com/s/1dhqGWAGd_iCfFm9gQS5N6g 
提取码:n6h3

image
image

import time
import autoit
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("https://sahitest.com/demo/php/fileUpload.htm")


ele = driver.find_element(By.CSS_SELECTOR, '#file')
ActionChains(driver).click(ele).perform()
time.sleep(3)

# 获取wind窗口对象,win_wait_active("窗口的标题", 等待时间)
autoit.win_wait_active("打开", 3)
# 在文件选择输入框中输入文件的地址,control_send("窗口的标题", "控件的名称", r"绘图1.png")
autoit.control_send("打开", "Edit1", r"绘图1.png")
# 点击打开按钮,control_click("窗口的标题", "控件的名称")
autoit.control_click("打开", "Button1")

time.sleep(10)
# driver.quit()
posted @ 2022-08-23 21:26  小高2  阅读(99)  评论(0)    收藏  举报