python web自动化-文件上传-亲身实践
文件上传三种方式:
(一)查看元素标签,如果是input,则可以参照文本框输入的形式进行文件上传
方法:和用户输入是一样的,使用send_keys
1 2 3 4 5 | 步骤: 1 、找到定位元素, 2 ,输入文件路径 ele = driver.find_element_by_id( "id" ) #说明:参数是文件的路径,在windows中,因为路径是反斜杠,所以在路径之前需要有r ele.send_keys(r "c:\xxx.txt" ) time.sleep( 3 ) |
说明:如果不是input标签,直接是div标签,则不能使用上述方法,也不能使用selenium中的(拖拽方法)drag_and_drop(value1,value2),因为文件夹中的文件,是window操作,不是浏览器中的元素,无法定位。则使用以下方式:
(二)使用pywinauto(只能在window平台上面使用)
步骤:1、下载pywinauto包------pip install pywinauto
步骤2:导入 from pywinauto .keyboard import send_keys
步骤3:打开窗口>>>输入文件地址>>>点击打开按钮就行了,请看具体代码.
具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import pywinauto from pywinauto.keyboard import send_keys # 使用pywinauto来选择文件 app = pywinauto.Desktop() # 选择文件上传的窗口 dlg = app[ "打开" ] # 选择文件地址输入框,点击激活 dlg[ "Toolbar3" ].click() # 键盘输入上传文件的路径>>>记住不是文件的地址啊,是文件的上一层地址. send_keys( "D:\data" ) # 键盘输入回车,打开该路径 send_keys( "{VK_RETURN}" ) # 选中文件名输入框,输入文件名>>>只需要改文件名就行了,看以下例子 dlg[ "文件名(&N):Edit" ].type_keys( "文件名" )<br> # 例如我实战的: dlg[ "文件名(&N):Edit" ].type_keys( "接口测试文件.pdf" )<br> # 点击打开 dlg[ "打开(&O)" ].click() time.sleep( 4 ) |
(三)如果电脑不是window操作系统--使用pyautogui跨平台
1 | 使用pyautogui跨平台 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | pip install pillow = = 6.2 . 2 pip insall pyautogui time.sleep( 1 ) pyautogui.write( "d:xxx.txt" ) pyautogui.press( "enter" , 2 ) #输入两次enter键,防止出错 # 说明,有的平台,文件路径中如果包含中文,会报错,解决办法: import pyperclip #pyautogui中自带的,因此不需要单独安装 pyperclip.copy(r "d:\用户\文件.txt" ) #复制文件路径 time.sleep( 2 ) pyautogui.hotkey( "ctrl" , "v" ) #类似于剪切板上面的粘贴操作 pyautogui.press( "enter" ,presses = 2 ) #输入两次enter键,防止出错 |
标签:
web自动化收录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix