如果开发使用的不是input ( type = file), 那么需要使用Win32API来操作。
首先引用Win32API
以上面的窗口为例
首先使用FindWindow查找弹出的上传文件的对话窗口,返回对话框的句柄
hParent = FindWindow.call(0,"Open")
第一个参数是窗口的ClassName,第二个参数是窗口的Name。这里我们只需要给任何一个参数赋值就行,如上面的(0,"Open"),Open是窗口的名称。
然后使用FindWindowEx定位对话框中的文件名输入框。输入框和下拉框,对话框的层级(父子)关系如下:
即:Dialog --> ComboBoxEx32 --> ComboBox --> Edit, 可知输入框是嵌套在下拉框中。所以我们需要一级一级定位:
原文:https://www.cnblogs.com/it11/p/13196630.html