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 selenium处理windows窗口的更多相关文章

  1. python selenium 处理悬浮窗口(baidu tj_more)

    python selenium 处理悬浮窗口 from selenium.webdriver.common.action_chains import ActionChainsActionChains( ...

  2. python selenium打开新窗口,多窗口切换

    # coding=utf-8 from selenium import webdriver browser=webdriver.Firefox() browser.maximize_window() ...

  3. python+selenium之多窗口切换

    #打开浏览器driver = webdriver.Firefox()driver.get(url)#获取当前窗口now_handle=driver.current_window_handle # 获取 ...

  4. python+selenium控制浏览器窗口(刷新、前进、后退、退出浏览器)

    调用说明: driver.属性值 变量说明: 1.driver.current_url:用于获得当前页面的URL 2.driver.title:用于获取当前页面的标题 3.driver.page_so ...

  5. python selenium无法最大化窗口

    问题原因:报错提示cannot get automation extension根据各种调试,发现是对应版本不对,上图发现selenium的版本是57.0.2987.133,需要driver为2.29 ...

  6. Python+selenium之多窗口,句柄

  7. Python+selenium自动化测试中Windows窗口跳转方法

    Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 drive ...

  8. Python+Selenium - windows安全中心的弹窗(账号登录)

    当出现如下图所示的 Windows安全中心弹窗,需要输入用户名和密码时 如何用Python+selenium跳过这个登录. 步骤: 1.在注册表中三个位置各添加两个东西:iexplore.exe 和 ...

  9. [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium

    最近准备深入学习Python相关的爬虫知识了,如果说在使用Python爬取相对正规的网页使用"urllib2 + BeautifulSoup + 正则表达式"就能搞定的话:那么动态 ...

随机推荐

  1. Git基本操作指令

    Git是世界上目前最先进的分布式版本控制系统. 工作原理图: Workspace工作区,Index暂存区,Repository本地仓库区,Remote远程仓库. SVN与Git的最主要的区别? SVN ...

  2. The Triangle(DP-数塔问题)

    题目链接:http://poj.org/problem?id=1163 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number ...

  3. Java 使用blob对H5视频播放进行加密《java视频加密》

    1.创建一个H5 <video>标签 <video id="sound" type="video/mp4" controls="co ...

  4. 英语口语练习系列-C36-城市-谈论活动-登高

    词汇-城市 city your favorite city a place you would like to visit metropolis capital landscape enchantin ...

  5. django——模型层之单表

    1.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

  6. [POJ2965]The Pilots Brothers' refrigerator (搜索/位运算)

    题意 游戏“The Pilots Brothers:跟随有条纹的大象”有一个玩家需要打开冰箱的任务. 冰箱门上有16个把手.每个手柄可以处于以下两种状态之一:打开或关闭.只有当所有把手都打开时,冰箱才 ...

  7. 爬虫——scrapy入门

    scrapy 安装scrapy pip install scrapy windows可能安装失败,需要先安装c++库或twisted,pip install twisted 创建项目 scrapy s ...

  8. Vue(二十五)打包后路径报错问题

    1.修改 config - index.js 2.修改 build - utils.js

  9. angular.isArray()

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Spark on Yarn with HA

    Spark 可以放到yarn上面去跑,这个毫无疑问.当Yarn做了HA的时候,网上会告诉你基本Spark测不需做太多的关注修改,实际不然. 除了像spark.yarn开头的相关配置外,其中一个很重要的 ...