qweritot 发表于 2012-5-31 19:53:03

请教IE里的按钮怎么点击提交(已解决)

本帖最后由 qweritot 于 2012-6-5 10:46 编辑

使用post方法解决了。
网页表单如下:


我能够用下面的代码输入文本,就是没办法提交,求解答。
                $ID = _IEGetObjById ($oie, "username")
                $ID.value = "id"
                $ID = _IEGetObjById ($oie, "password")
                $ID.value = "pwd"

shqf 发表于 2012-6-1 09:48:04

怎么提交的呢?用的是什么命令?

qweritot 发表于 2012-6-1 09:52:52

按钮没有name也没有id,不知道怎么办

shqf 发表于 2012-6-1 10:07:59

先用这个试试_IEFormSubmit($oForm),当然先要取得form的对象。
不行的话,再用这个利器,可取得任何标签的对象 _IETagNameGetCollection

qweritot 发表于 2012-6-1 13:59:56

还是不行啊,挨个元素都试了,还是不能提交。

$oElements = _IETagNameAllGetCollection ($oie)
For $oElement In $oElements
    MsgBox(0, "Element Info", "Tagname: " & $oElement.tagname & @CR & "innerText: " & $oElement.innerText)
        _IEFormSubmit($oElement)
Next

shqf 发表于 2012-6-1 14:34:35

本帖最后由 shqf 于 2012-6-1 14:44 编辑

看一下网页源码,如此为第1个form,就用下句提交。如为第2 个form,则将0改为1,以此类推。
$oForm=_IETagNameGetCollection($oIE,"form",0)
_IEFormSubmit($oForm)
如不行再用模拟点击的方法(下句假设那个登录的input标签为网页中第11 个input):
$oSubmit=_IETagNameGetCollection($oIE,"input",10)
$oSubmit.click。
至于究竟为第几个input你可用_IETagNameAllGetCollection及$oElement.value来查看。

qweritot 发表于 2012-6-1 16:28:09

网页中只有一个form,0,1都试了提交不了
模拟点击的方法也试了,网页中只有4个input,从0到4我都试了,也还是不行
谢谢啊,您真热心

shqf 发表于 2012-6-1 17:23:14

是指input在整个网页源码中的第几个。你上面提供的仅是一部分,就有4 个input了,整个网页源码中的input会不止4个吧。_IETagNameGetCollection($oIE,"input",10)此句中的对象是$oIE,是整个文档(InternetExplorer.Application )的对象啊。你多看看帮助吧.要不,是外网就上地址,内网上源码吧。

qweritot 发表于 2012-6-1 18:07:50

本帖最后由 qweritot 于 2012-6-5 10:47 编辑

确实只有4个

qweritot 发表于 2012-6-1 20:35:34

本帖最后由 qweritot 于 2012-6-5 10:48 编辑

为什么是10呢

quasimodo 发表于 2012-6-1 21:14:00

有form的。

x163169x 发表于 2012-6-1 21:40:41

最后加一句_IEFormSubmit ($oForm,0)

shqf 发表于 2012-6-2 21:11:52

你手工提交正常吗?

qweritot 发表于 2012-6-4 15:38:21

手工提交正常。
10也不行啊,我从0一直测试到15,都不行。测试代码如下:
For $i=0 To 15

$oSubmit=_IETagNameGetCollection($oie,"input",$i)


_IEFormSubmit($oSubmit)

MsgBox(0, "Element Info", "i= " & $i)

Next
页: [1]
查看完整版本: 请教IE里的按钮怎么点击提交(已解决)