python selenium处理windows窗口
2018-10-23 17:36
381 查看
selenium本身处理不了windows窗口,需要借助,PyAutoit包 与autoit工具
这里以文件上传窗口为例:
1.安装python pyauto包
pip install PyAutoit
2.安装autoit工具,下载地址如下,这里使用的是autoit3版本
https://www.autoitscript.com/site/autoit/downloads/
3.处理文件上传window窗口
需要完成以下步骤:
1>.输入文件路径
2>.点击,打开按钮
4.文件上传autoit python代码实现
1>通过auto软件,抓取上传窗口,属性
2>引用python引用autoit包
import autoit #设置焦#点 autoit.control_focus("打开","[Class:Edit; instance:1]") #输入文本 autoit.control_set_text("打开","[Class:Edit; instance:1]",r"C:\Users\Administrator\Desktop\226523.jpg") # 单击按钮 autoit.control_click("打开","[Class:Button; instance:1]")
5.代码分解
以上三行代码即可,当然,你可能不太明白这些参数都是什么意思,那么下边我们分别看一下原型。
Title:auto抓取到的Title如下图
control:就是autoit抓出的control中的属性。
control,在python代码中用 "[属性:属性值;属性2:属性值2]" 表示
1>autoit.control_focus():
@api.check(2, "Window/Control could not be found") def control_focus(title, control, **kwargs): """ :param title: :param control: :param kwargs: :return: """ text = kwargs.get("text", "") ret = AUTO_IT.AU3_ControlFocus( LPCWSTR(title), LPCWSTR(text), LPCWSTR(control)) return ret
2>autoit.control_set_text():
@api.check(2, "Window/Control could not be found") def control_set_text(title, control, control_text, **kwargs): """ :param title: :param control: :param control_text: :param kwargs: :return: """ text = kwargs.get("text", "") ret = AUTO_IT.AU3_ControlSetText( LPCWSTR(title), LPCWSTR(text), LPCWSTR(control), LPCWSTR(control_text) ) return ret
3>autoit.control_click():
@api.check(2, "send click message failed") def control_click(title, control, **kwargs): """ :param title: :param text: :param control: :param button: :param clicks: :param x: :param y: :return: """ text = kwargs.get("text", "") button = kwargs.get("button", "left") clicks = kwargs.get("clicks", 1) x = kwargs.get("x", INTDEFAULT) y = kwargs.get("y", INTDEFAULT) ret = AUTO_IT.AU3_ControlClick(LPCWSTR(title), LPCWSTR(text), LPCWSTR(control), LPCWSTR(button), INT(clicks), INT(x), INT(y)) return ret
总结:
1>安装(auit和pyautoit包)
2>抓取(auit抓取上传窗口)
3>编写python代码(设置焦点,输入文本,点击上传)
注意,可以加入一些等待时间,还控制焦点与输入间隔
相关文章推荐
- Python-Selenium2做Web自动化测试(10)-浏览器多窗口处理、alert/confirm/prompt 处理
- selenium学习系列--windows窗口处理扩展
- Selenium 处理windows 上传 窗口
- SELENIUM 处理WINDOWS 上传 窗口
- selenium python (十)浏览器多窗口处理
- 【selenium webdriver】处理Windows弹出窗口(window handles)
- 网页处理实践(3)——python+selenium+firefox,不弹出窗口,静默模式运行
- selenium python浏览器多窗口处理代码示例
- selenium 处理浏览器多窗口
- Windows安装Python图像处理库:PIL模块
- 【selenium】Windows平台下使用python自动登陆网关 (更新至 v1.1.0)
- Python+Selenium基础1-1:Windows环境安装python&&Selenium
- [python爬虫] Selenium切换窗口句柄及调用Chrome浏览器
- Windows 10上修改Python 3.5的server.py,使得其http server脚本可以正确处理中文目录文件名
- selenium2java 遇到有三个窗口用例的处理办法
- Windows消息队列 UI线程,窗口以及消息处理方式总结
- selenium python (十三)对于分页的处理
- Python-Selenium2做Web自动化测试(9)-定位Frame中的对象、对话框处理