python上传文件方法总结

举报
建帅小伙儿 发表于 2022/09/25 00:56:45 2022/09/25
【摘要】 python上传文件方法总结 # coding=utf-8""" @Project :pachong-master @File :uploadFile.py @Author :gaojs @Date :2022/5/16 21:04 @Blogs : https://www.g...

python上传文件方法总结


   
  1. # coding=utf-8
  2. """
  3. @Project :pachong-master
  4. @File :uploadFile.py
  5. @Author :gaojs
  6. @Date :2022/5/16 21:04
  7. @Blogs : https://www.gaojs.com.cn
  8. """
  9. from time import sleep
  10. import pyautogui
  11. from win32com.client import Dispatch
  12. from pywinauto.keyboard import send_keys, SendKeys
  13. from selenium import webdriver
  14. import pywinauto
  15. class UploadFile:
  16. def __init__(self):
  17. """
  18. 上传文件
  19. """
  20. self.driver = webdriver.Chrome()
  21. self.driver.get('https://www.wenshushu.cn/')
  22. self.driver.maximize_window()
  23. self.driver.implicitly_wait(10)
  24. def pywinUpload(self, filePath, filename):
  25. """
  26. 使用pywinauto上传
  27. :return:
  28. """
  29. self.driver.find_element_by_css_selector('div.chooice-btn button').click()
  30. desk = pywinauto.Desktop()
  31. # 点击打开按钮
  32. frame = desk["打开"]
  33. # 选择文件地址输入框
  34. frame["Toolbar3"].click()
  35. # 输入路径文件
  36. send_keys(filePath)
  37. # 键盘输入回车,打开该路径
  38. send_keys("{VK_RETURN}")
  39. # 选中文件名输入框,输入文件名
  40. frame["文件名(&N):Edit"].type_keys(filename)
  41. sleep(3)
  42. # 点击打开
  43. frame["打开(&O)"].click()
  44. def upload(self, filenamePath):
  45. """
  46. input标签才能这样:send_keys上传文件
  47. :return:
  48. """
  49. upload = self.driver.find_element_by_css_selector('div.chooice-btn button')
  50. sleep(3)
  51. # loadfile.send_keys(filenamePath)
  52. upload.send_keys('filenamePath')
  53. self.driver.find_element_by_id('onBtn')
  54. def win32Upload(self, filenamePath):
  55. """
  56. 使用win32com.client上传文件
  57. :param filenamePath:
  58. :return:
  59. """
  60. self.driver.find_element_by_css_selector('div.chooice-btn button').click()
  61. patch = Dispatch("WScript.shell")
  62. sleep(3)
  63. patch.Sendkeys(filenamePath)
  64. def autoguiUpload(self, filenamePath):
  65. """
  66. pyautogui上传文件
  67. :param filenamePath:
  68. :return:
  69. """
  70. self.driver.find_element_by_css_selector('div.chooice-btn button').click()
  71. pyautogui.write(filenamePath)
  72. sleep(3)
  73. # pyautogui.keyDown('enter')
  74. # pyautogui.keyUp('enter')
  75. pyautogui.press('enter', presses=2)

注意:这个autoguiUpload()方法还没能上传成功,正在思考…emo

文章来源: blog.csdn.net,作者:懿曲折扇情,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41332844/article/details/126837426

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。