1 上传文件


1 input标签上传文件

定位 input 标签且 type=file 的元素,并使用 send_keys 输入 图片路径即可实现

  1. browser.find_element(By.XPATH,'//input[@type="file"]').send_keys(path)

2 非input标签上传文件

写死的代码,照搬即可

  1. pip install pypiwin32
  2. import win32gui
  3. import win32con
  4. import time
  5. browser.get("https://tinypng.com/")
  6. browser.find_element_by_css_selector("section.target").click()
  7. time.sleep(2)
  8. # 一级顶层窗口
  9. dialog = win32gui.FindWindow("#32770", "打开")
  10. # 二级窗口
  11. comboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)
  12. # 三级窗口
  13. comboBox = win32gui.FindWindowEx(comboBoxEx32, 0, "ComboBox", None)
  14. # 四级窗口 -- 文件路径输入区域
  15. edit = win32gui.FindWindowEx(comboBox, 0, "Edit", None)
  16. # 二级窗口 -- 打开按钮
  17. button = win32gui.FindWindowEx(dialog, 0, "Button", None)
  18. # 1、输入文件路径
  19. filepath = f"{paths}\\resources\\11.png"
  20. win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, filepath)
  21. # 2、点击打开按钮
  22. win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)

2 下载文件

profile.default_content_settings.popups:0为屏蔽弹窗,1为开启弹窗 download.default_directory:下载路径

  1. options = webdriver.ChromeOptions()
  2. prefs = {
  3. 'profile.default_content_settings.popups': 0,
  4. 'download.default_directory': 'E:\\'
  5. }
  6. options.add_experimental_option('prefs',prefs)
  7. browser = webdriver.Chrome(executable_path=r'chromedriver.exe',chrome_options=options)
  8. browser.get(url)
  9. browser.find_element(By.XPATH,value).click()