给网页表单上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 14:41 编辑
貌似 send ControlSend发送中文路径会出现乱码
而且_IEAction($oQuery, "focus") 会造成后面有些表单赋值失败
最不能容忍的是:如果键盘当时有输入的话会破坏FILE表单赋值的正确性 :face (37):
需要帮助啊
Send 或者 ControlSend 还经常把":"发成";" 太不好用了 不知楼主在说什么,是不是网页填表,给个地址吧。。。 把问题改下,不知你在说什么 修改了2次 希望我表达清楚了 顶一下 希望有人回复我
如果只能这样做我也好死心算了 我知道高手一般都是晚上出洞 我再顶一次
用图说话:
示例中的做法(采用send、controlsend输入方式)约束性很大,很容易出错
怎么容易出错法?
给个网址大家测试下
页:
[1]