针对web端UI自动化上传本地文件,总结两种种方式
一、通过send_keys方法(该方法只适用于input标签)
以百度一下为例
selenium UI自动化代码如下:(file文件替换为自己的本地文件绝对路径)
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()file = r"C:\Users\Administrator\Pictures\1.png"
driver.implicitly_wait(10)
driver.get('https://www.baidu.com/')
driver.find_element(By.XPATH, "//span[@class='soutu-btn']").click()
upload_file = driver.find_element(By.XPATH, "//input[@class='upload-pic']")
upload_file.send_keys(f'{file}')
driver.find_element(By.XPATH, "//span[contains(text(),'百度一下')]").click()
time.sleep(3)
driver.quit()
二、PyAutoGUI上传文件方式(file文件及路径不能包含中文名称,否则上传失败)
以文件识别为例
from selenium import webdriver
from selenium.webdriver.common.by import By
import pyautogui
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://img2txt.com/cn#tab-file')
file = r"C:\Users\Administrator\Pictures\1.png"driver.implicitly_wait(10)
time.sleep(5)
driver.find_element(By.XPATH, "//h4[contains(text(),'为了下一步识别请选择图片或PDF')]").click()
time.sleep(2)
pyautogui.typewrite(file)
time.sleep(2)
pyautogui.press('enter', 2)
driver.quit()