1 上传文件
1 input标签上传文件
定位 input 标签且 type=file 的元素,并使用 send_keys 输入 图片路径即可实现
browser.find_element(By.XPATH,'//input[@type="file"]').send_keys(path)
2 非input标签上传文件
写死的代码,照搬即可
pip install pypiwin32
import win32gui
import win32con
import time
browser.get("https://tinypng.com/")
browser.find_element_by_css_selector("section.target").click()
time.sleep(2)
# 一级顶层窗口
dialog = win32gui.FindWindow("#32770", "打开")
# 二级窗口
comboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)
# 三级窗口
comboBox = win32gui.FindWindowEx(comboBoxEx32, 0, "ComboBox", None)
# 四级窗口 -- 文件路径输入区域
edit = win32gui.FindWindowEx(comboBox, 0, "Edit", None)
# 二级窗口 -- 打开按钮
button = win32gui.FindWindowEx(dialog, 0, "Button", None)
# 1、输入文件路径
filepath = f"{paths}\\resources\\11.png"
win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, filepath)
# 2、点击打开按钮
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
2 下载文件
profile.default_content_settings.popups:0为屏蔽弹窗,1为开启弹窗 download.default_directory:下载路径
options = webdriver.ChromeOptions()
prefs = {
'profile.default_content_settings.popups': 0,
'download.default_directory': 'E:\\'
}
options.add_experimental_option('prefs',prefs)
browser = webdriver.Chrome(executable_path=r'chromedriver.exe',chrome_options=options)
browser.get(url)
browser.find_element(By.XPATH,value).click()