目录
前言
小伙伴们大家好久不见呀,今天笔者来给各位小伙伴唠唠web自动化python+selenium之针对上传操作的实现方案,笔者也不喜欢多讲废话,所以呢我们直接进入主题哈。
一、关于上传操作
上传有两种情况:
- 如果是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工具窗口,可以得出控制关系图如下: