文章末尾给大家留下了大量的福利
一、关于上传操作
上传有两种情况:
- 如果是input可以直接输入路径的,那么直接使用send_keys(文件路径)输入路径即可;
- 非input标签的上传,则需要借助第三方工具:第三方库 pywin32、第三方工具pyautogui等等。
那这里针对以上两种情况分别介绍一下具体的解决方法。
二、input标签
定位到元素,然后直接使用send_keys(文件路径)输入路径,比较简单。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://xxxx")
driver.maximize_window()
# 定位上传文件元素
input_file = driver.find_element_by_id("xxx")
# 上传文件
input_file.send_keys(r"D:\learn\xx.txt")
三、第三方库pywin32
非input标签的上传,则需要借助第三方工具。pywin32就是这样的一个第三方库,主要是方便python开发者快速调用windows API的一个模块库,可以识别上传对话框句柄进而操作。安装命令:pip install pywin32。

从上面的上传窗口,及WinSpy工具窗口,可以得出控制关系图如下:

从上图可以看出:<

本文介绍了Python结合Selenium进行web自动化测试中如何处理上传操作,包括input标签的直接输入路径方法以及借助pywin32库和pyautogui工具处理非input标签上传的方案。文中还提供了相关函数的详细解释和封装好的上传函数示例。

867

被折叠的 条评论
为什么被折叠?



