找回密码
 加入
搜索
查看: 5233|回复: 10

[IE类操作] 相同ID,name 如何辨别

  [复制链接]
发表于 2012-5-7 11:27:43 | 显示全部楼层 |阅读模式
本帖最后由 ljxu 于 2012-6-19 13:56 编辑

Form: lancfg      Type: hidden  name:lanname[]  id:lanname[] value:lan1
Form: lancfg      Type: hidden  name:lanconn_h[]  id:lanconn_h[] value:enable
Form: lancfg      Type: text  name:lanaddr[]  id:lanaddr[] value:192.168.0.1
Form: lancfg      Type: text  name:lanmask[]  id:lanmask[] value:255.255.255.0

Form: lancfg      Type: checkbox  name:lanconn  id:lanconn value:enable
Form: lancfg      Type: checkbox  name:Lanselect[]  id:Lanselect[] value:11
Form: lancfg      Type: hidden  name:lanname[]  id:lanname[] value:lan2
Form: lancfg      Type: hidden  name:lanconn_h[]  id:lanconn_h[] value:enable
Form: lancfg      Type: text  name:lanaddr[]  id:lanaddr[] value:192.168.120.1
Form: lancfg      Type: text  name:lanmask[]  id:lanmask[] value:255.255.255.0


红色标注的的html元素ID及name相同,如何在元素表单填写时区别出来?

For $oInput In $oInputs

        If $oInput.value="lan2" Then $oInput.SetValue("192.168.4.1")
                $Ele = _IEGetObjById($oIE,"lanaddr[]")
_IEFormElementSetValue($Ele,"192.168.4.1")

这么写好像不行?
发表于 2012-5-7 16:43:55 | 显示全部楼层
本帖最后由 shqf 于 2012-5-7 16:49 编辑

name相同的话,可再用value来判断,可你上面name相同的二行,value值都不是lan2啊要,怎么用$oInput.value="lan2"判断呢。如要判断话,要用$oInput.value=="192.168.0.1"
 楼主| 发表于 2012-5-7 18:31:19 | 显示全部楼层
回复 2# shqf


      这个是我弄错,不好意思!
If $oInput.value="" And $oInput.id="lanaddr[]"  Then $oInput.Value="192.168.2.2"
就可以了
但如果出现如下情况:

Form: lancfg      Type: checkbox  name:chk_all  id:0 value:on
Form: lancfg      Type: checkbox  name:Lanselect[]  id:Lanselect[] value:11
Form: lancfg      Type: hidden  name:lanname[]  id:lanname[] value:lan1
Form: lancfg      Type: hidden  name:lanconn_h[]  id:lanconn_h[] value:enable
Form: lancfg      Type: text  name:lanaddr[]  id:lanaddr[] value:192.168.0.1
Form: lancfg      Type: text  name:lanmask[]  id:lanmask[] value:255.255.255.0
Form: lancfg      Type: checkbox  name:lanconn  id:lanconn value:enable
Form: lancfg      Type: checkbox  name:Lanselect[]  id:Lanselect[] value:11
Form: lancfg      Type: hidden  name:lanname[]  id:lanname[] value:lan2
Form: lancfg      Type: hidden  name:lanconn_h[]  id:lanconn_h[] value:enable
Form: lancfg      Type: text  name:lanaddr[]  id:lanaddr[] value:0
Form: lancfg      Type: text  name:lanmask[]  id:lanmask[] value:0
Form: lancfg      Type: checkbox  name:lanconn  id:lanconn value:enable
Form: lancfg      Type: checkbox  name:Lanselect[]  id:Lanselect[] value:11
Form: lancfg      Type: hidden  name:lanname[]  id:lanname[] value:lan3
Form: lancfg      Type: hidden  name:lanconn_h[]  id:lanconn_h[] value:enable
Form: lancfg      Type: text  name:lanaddr[]  id:lanaddr[] value:0
Form: lancfg      Type: text  name:lanmask[]  id:lanmask[] value:0

Form: lancfg      Type: checkbox  name:lanconn  id:lanconn value:enable
Form: lancfg      Type: checkbox  name:Lanselect[]  id:Lanselect[] value:11


红色的地方怎么区别?!
发表于 2012-5-7 20:37:24 | 显示全部楼层
在对象集中的index来确定
发表于 2012-5-8 12:36:11 | 显示全部楼层
用index 楼上正解
 楼主| 发表于 2012-5-8 22:15:59 | 显示全部楼层
回复 5# chinafla


    能举个例子吗?谢谢
 楼主| 发表于 2012-5-8 22:16:09 | 显示全部楼层
回复 4# shqf


        能举个例子吗?谢谢
发表于 2012-5-9 09:21:19 | 显示全部楼层
你不说出网页的地址,所给的网页源码也不全,真的很难来帮你呵。
看看下面函数的的帮助吧,应该能解决你的问题。_IEFormElementGetCollection、_IEFormGetCollection、_IETagNameGetCollection、_IETagNameAllGetCollection
发表于 2012-5-9 11:18:53 | 显示全部楼层
哈哈 楼上又正解

_IEFormElementGetCollection 例子,来自帮助手册
; *******************************************************
; Example 1 - Get a reference to a specific form element by 0-based index.
;               In this case, submit a query to the Google search engine
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ("http://www.google.com")
$oForm = _IEFormGetCollection ($oIE, 0)
$oQuery = _IEFormElementGetCollection ($oForm, 2)
_IEFormElementSetValue ($oQuery, "AutoIt IE.au3")
_IEFormSubmit ($oForm)
 楼主| 发表于 2012-5-14 10:03:04 | 显示全部楼层
回复 8# shqf


    3Q,仔细看了这几个函数的说明,已经解决了这个问题,下次提问时我会尽量提供详细的信息,方便大家帮助我,再次感谢热心的shqf。
 楼主| 发表于 2012-5-14 10:03:34 | 显示全部楼层
回复 9# chinafla


   
    3Q,仔细看了这几个函数的说明,已经解决了这个问题,下次提问时我会尽量提供详细的信息,方便大家帮助我,再次感谢热心的chinafla。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 01:35 , Processed in 0.139284 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表