yinle 发表于 2009-7-22 13:38:37

给网页表单上file类型的赋值什么简单的办法没有?

本帖最后由 yinle 于 2009-7-23 20:26 编辑

我附上帮助文件里的示例 你应该就能明白,如下:
; *******************************************************
; Example 5 - Set the value of an INPUT TYPE=FILE element
;               Same as previous example, but with invisible window
;               (security restrictions prevent using _IEFormElementSetValue)
; *******************************************************
;
#include <IE.au3>

$oIE = _IE_Example("form")

; Hide the browser window to demonstrate sending text to invisible window
_IEAction($oIE, "invisible")

$oForm = _IEFormGetObjByName($oIE, "ExampleForm")
$oInputFile = _IEFormElementGetObjByName($oForm, "fileExample")

; Assign input focus to the field and then send the text string
_IEAction($oInputFile, "focus")
$hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "", "C:\myfile.txt")

MsgBox(0, "Success", "Value set to C:\myfile.txt")
_IEAction($oIE, "visible")
以上就是帮助文件中给网页上表单的一个FILE类型的element填值做法,
_IEFormElementSetValue函数可以直接给TEXT或者PWD类型的赋值,但不能对FILE类型进行赋值操作。 示例中的做法(采用send、controlsend输入方式)约束性很大,很容易出错,想请问有没有直接点的方法?



就是这类如邮箱里面上传附件的地方

yinle 发表于 2009-7-22 13:58:21

本帖最后由 yinle 于 2009-7-22 14:41 编辑

貌似 send   ControlSend发送中文路径会出现乱码
而且_IEAction($oQuery, "focus") 会造成后面有些表单赋值失败
最不能容忍的是:如果键盘当时有输入的话会破坏FILE表单赋值的正确性

yinle 发表于 2009-7-22 20:53:21

:face (37):
需要帮助啊
Send 或者 ControlSend 还经常把":"发成";"   太不好用了

kn007 发表于 2009-7-22 22:59:13

不知楼主在说什么,是不是网页填表,给个地址吧。。。

kn007 发表于 2009-7-22 22:59:27

把问题改下,不知你在说什么

yinle 发表于 2009-7-23 16:48:22

修改了2次 希望我表达清楚了 顶一下 希望有人回复我
如果只能这样做我也好死心算了

yinle 发表于 2009-7-23 23:10:35

我知道高手一般都是晚上出洞 我再顶一次

用图说话:

lynfr8 发表于 2009-7-24 02:46:39

示例中的做法(采用send、controlsend输入方式)约束性很大,很容易出错
怎么容易出错法?
给个网址大家测试下
页: [1]
查看完整版本: 给网页表单上file类型的赋值什么简单的办法没有?