python-selenium -- 文件上传操作

一、文件上传操作

win32gui.FindWindow(IPClassName,IPWindowName)

自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄;

IPClassName:类名,在Spy++里能够看到;

IPWindowName:窗口名,标题栏上能看到的名字

win32gui.FindWindowEx(hwndParent=0,hwndChildAfter=0,IPszClassName=None,IPszWindowName=None)

搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄,找不到就返回0;

hwndParent:若不为哦,则搜索句柄为hwndParent的窗口子窗体;

hwndChildAfter:若不为0 ,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体;

IPszClassName:字符型,是窗口的类名,这个可以在Spy++里找到;

IPszWindowName:字符型,是窗口名,也就是标题栏上能看到的那个标题

win32gui.SendMessage(hWnd,Msg,wParam,IParam)

hWnd:整型,接收消息的窗口句柄;

Msg:整型,要发送的消息,这些消息都是windows预定义好的;

wParam:整型,消息的wParam参数;

IParam:整型,消息的IParam参数;

如:百度网盘上传操作--点击上传按钮弹出文件框

#文件上传操作--命令行安装 python -m pip install pypiwin32,安装后重启Pycharmimport win32guiimport win32conimport time

#一级顶层窗口dialog = win32gui.FindWindow("#32770","打开")#二级窗口comboBoxEx32 = win32gui.FindWindowEx(dialog,0,"ComboBoxEx32",None)#三级窗口comboBox = win32gui.FindWindowEx(comboBoxEx32,0,"ComboBox",None)#四级窗口 -- 文件路径输入区域edit = win32gui.FindWindowEx(comboBox,0,"Edit",None)

#二级窗口 -- 打开按钮button = win32gui.FindWindowEx(dialog,0,"Button",None)

#1、输入文件路径filepath = "E:\\chromedriver.exe"win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filepath)time.sleep(5)#2、点击打开按钮win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button)

原文地址:https://www.cnblogs.com/simran/p/9250783.html

时间: 2024-07-31 06:08:02

python-selenium -- 文件上传操作的相关文章

Python Selenium 文件上传(二)

今天补充一种文件上传的方法 主要是因为工作中使用SendKeys方法不稳定,具体方法见: Python Selenium 文件上传(一) 这种方法直接通过命令行执行脚本时没有问题,可以成功上传,但是如果通过saltstack 远程控制执行时,SendKeys就定位不到窗口了. 所以采用这种新的方式来实现文件上传功能,并完美的解决了这个问题. 具体操作步骤如下: 1.下载工具 AutoIt及使用 AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows

Python Selenium 文件上传(一)

昨天写了Web 文件下载的ui自动化,下载之后,今天就要写web 文件上传的功能了. 当然从折腾了俩小时才上传成功.下面写一下自己操作的步骤 首先网上说的有很多方法 如 input 标签的最好做了,直接定位到元素,然后再sendKeys("value")即可 <input id="file_name" class="text-1 w255" type="text" readonly="" value=

python+selenium文件上传

1.input标签类元素文件上传 先定位到文件上传元素id,再使用方法send_keys(文件路径) 2.非input标签 备注:非input标签的文件上传,就不适用于此方法了,需要借助autoit工具或者SendKeys第三方库.

Python WebDriver 文件上传

昨天写了Web 文件下载的ui自动化,下载之后,今天就要写web 文件上传的功能了. 当然从折腾了俩小时才上传成功.下面写一下自己操作的步骤 首先网上说的有很多方法 如 input 标签的最好做了,直接定位到元素,然后再sendKeys("value")即可 <input id="file_name" class="text-1 w255" type="text" readonly="" value=

Python WebDriver 文件上传(二)

今天补充一种文件上传的方法 主要是因为工作中使用SendKeys方法不稳定,具体方法见: Python WebDriver 文件上传(一) 这种方法直接通过命令行执行脚本时没有问题,可以成功上传,但是如果通过saltstack 远程控制执行时,SendKeys就定位不到窗口了. 所以采用这种新的方式来实现文件上传功能,并完美的解决了这个问题. 具体操作步骤如下: 1.下载工具 AutoIt及使用 AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Window

PHP多文件上传操作

在前一篇文章里讲到了关于PHP文件上传原理和简单操作举例是单文件上传. http://www.cnblogs.com/lichenwei/p/3879566.html 其实多文件上传和单文件上传大同小异,原理都是一样的,只是在代码上做了点小技巧. 首先还是index.html上传表单,只是把之前上传文件表单里的file更改成了file[] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

selenium 文件上传

selenium文件上传 通过input标签实现的上传功能,可将其看做是一个输入框,通过send_key()实现文件上传. 创建一个test.html文件: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>upload_file</title> <link href=&q

基于python的selenium两种文件上传操作

方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情况: 1.AutoIt  去调用它生成的au3或者exe格式的文件 2.SendKeys第三方库(目前只支持到2.7版本) 网址:https://pypi.python.org/pypi/SendKeys 3.Python的pywin32库,通过识别对话框句柄来

selenium -文件上传的实现 -对于含有input element的上传

一.对于上传文件, 从手动操作我们可以看出, 需要对window 窗体进行操作, 而对于selenium webdriver 在这方面应用就受到了限制. 但是, 庆幸的是, 对于含有input element的上传, 我们可以直接通过sendkeys来传入文件路径,省略了对window 窗体的操作来实现文件上传, 具体实现过程如下: 1)找到上传控件element,并输入路径: WebElement element = driver.findElement(By.id("cloudFax-att