文件上传三种方式:
(一)查看元素标签,如果是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( "文件名" )
# 例如我实战的: dlg[ "文件名(&N):Edit" ].type_keys( "接口测试文件.pdf" )
# 点击打开 dlg[ "打开(&O)" ].click() time.sleep( 4 ) |
(三)如果电脑不是window操作系统--使用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键,防止出错 |
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。