如果你还想从头学起Selenium,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1680176.html

 

其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈…)

 

后续第一种上传文件方式的代码小案例都是访问此html的

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <input type="file" name="pic" id="pic" />
  9. </body>
  10. </html>

 

比较简单,可以定位input标签后,直接 .send_keys() 就可以了

  1. # !/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. """
  5. __title__ =
  6. __Time__ = 2020/3/25 17:52
  7. __Author__ = 小菠萝测试笔记
  8. __Blog__ = https://www.cnblogs.com/poloyy/
  9. """
  10. from selenium import webdriver
  11. driver = webdriver.Chrome("../resources/chromedriver.exe")
  12. # 需要自己修改路径
  13. driver.get("file:///C://上传文件.html")
  14. driver.maximize_window()
  15. # 定位上传文件元素input[type=file]
  16. pic = driver.find_element_by_id("pic")
  17. # 上传文件
  18. pic.send_keys(r"C:/上传文件.html")

 

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

这个是写死的方法,直接照搬即可,因为涉及了第三方工具去定位Window元素,暂时不展开详解

 

版权声明:本文为poloyy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/poloyy/p/12607930.html