python+selenium的web自动化之针对上传操作的实现方案

本文介绍了Python结合Selenium进行Web自动化测试中处理上传操作的两种方法:使用input标签的send_keys()方法和借助pywin32库或pyautogui工具。详细讲解了pywin32库如何定位并操作上传窗口,以及pyautogui如何实现鼠标和键盘的自动化控制。此外,还强调了操作前需等待的重要性。
摘要由CSDN通过智能技术生成

目录

关于上传操作

input标签

第三方库pywin32

第三方工具pyautogui

总结

重点:配套学习资料和视频教学


关于上传操作

​ 上传有两种情况:

  •  如果是input可以直接输入路径的,那么直接使用send_keys(文件路径)输入路径即可;
  •  非input标签的上传,则需要借助第三方工具:第三方库 pywin32、第三方工具pyautogui等等。

​ 那这里针对以上两种情况分别介绍一下具体的解决方法。

input标签

​ 定位到元素,然后直接使用send_keys(文件路径)输入路径,比较简单。

python

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工具窗口,可以得出控制关系图如下:

         

​ 从上图可以看出:

  • 文件名输入框的路径为:上传窗口 - > comboBoxEx32 - >comboBox - > Edit,在第四级edit;
  • 按钮的路径为:上传窗口 - > button(打开按钮),在第二级。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值