32714107 发表于 2012-8-20 13:47:59

关于_IEFormGetCollection的问题(已解决)

本帖最后由 32714107 于 2012-8-21 12:45 编辑

#include<IE.au3>
$oIE=_IECreate("http://www.114la.com",0,1,0)
$oForms=_IEFormGetCollection($oIE,1)
MsgBox(0, "表单信息", "这个页面上共有" & @extended & "个表单")
For $Form In $oForms
MsgBox(0,"表单名称","名称:"&$Form.name& " 类型:"&$Form.type)
FileOpen("test.txt", 0)
FileWrite("test.txt","名称:"&$Form.name& " 类型:"&$Form.type&@CRLF)
Next
这个网页中应该有6个表单,为什么写入文本文件中只有4个呢?我是新手,问的问题可能有些太简单,或问的直接不对,请高手们别见笑!

风行者 发表于 2012-8-20 14:47:06

写入的只有一个表单,那4个是表单的元素

32714107 发表于 2012-8-20 14:53:07

回复 2# 风行者


    那如何把6个表单及其每个元素都写出来呢?谢谢

风行者 发表于 2012-8-20 15:29:19

说明:表单名和元素名可能会没有,显示为0
#include <IE.au3>
$oIE = _IECreate("http://www.114la.com")
$forms = _IEFormGetCollection($oIE)
MsgBox(0,"","共"&@extended&"个表单!")
For $form In $forms
        FileWrite("a.txt","表单名:"&$form.name&@CRLF)
        $eles = _IEFormElementGetCollection($form)
        For $ele In $eles
                FileWrite("a.txt","元素名:"&$ele.name&@TAB&"元素类型:"&$ele.type&@CRLF)
        Next
        FileWrite("a.txt",@CRLF)
Next
ShellExecute("a.txt")

32714107 发表于 2012-8-20 15:52:19

谢谢风行者老前辈的解答,我明白了,上面中我在 _IEFormGetCollection($oIE)中加了一个参数,所以只显示一个表单名字,原来的帮助文件看不懂,现在懂了,为加深印象,现再写一遍帮助文件!
_IEFormGetCollection(BYRef $o_object[,$i_index=-1])
$i_index
Optional:specifies whether to return to return a collection or indexed instance
0 or positive integer returns an indexed instance.
-1=(Default) returns a collection

smooth 发表于 2018-6-11 21:44:55

做个标记,有空研究一下网页操作。
页: [1]
查看完整版本: 关于_IEFormGetCollection的问题(已解决)