找回密码
 加入
搜索
查看: 2133|回复: 8

自动登陆中,如何选择select

[复制链接]
发表于 2009-3-17 10:15:10 | 显示全部楼层 |阅读模式
登陆地址为:
http://www.maxxp.com.cn/bbs/logging.php?action=login

就是如何选中其中的“安全提问”中的某一项
我用了:_IEFormElementOptionSelect()也不行
用:_IEAction ($o_select, "click")也不行
请教

[ 本帖最后由 老榆头 于 2009-3-18 08:55 编辑 ]
发表于 2009-3-17 11:09:07 | 显示全部楼层

#include <IE.au3>

$oIE = _IEAttach('记住我的登录状态', 'text')

$objs = $oIE.document.getElementsByTagName('LI')

For $obj In $objs
        If StringInStr($obj.outertext, '餐馆') Then
                $obj.click()
                ExitLoop
        EndIf
Next
 楼主| 发表于 2009-3-17 12:03:40 | 显示全部楼层
谢谢狮兄

问题解决!!

就是还想多问一下,下面这句中的最后的那个TagName为什么是LI
$objs = $oIE.document.getElementsByTagName('LI')


我把它换成与select内、外的几个标签如select、div、option等都不行
谢谢!
 楼主| 发表于 2009-3-17 13:47:29 | 显示全部楼层
使用IE的UDF也是可以的:
$oElements = _IETagNameGetCollection ($oIE,"li")
For $oElement In $oElements
   
        If StringInStr($oElement.innerText,'驾驶执照') Then
                $oElement.click()
                ExitLoop
                ;MsgBox(0, "Element Info", "Tagname: " & $oElement.tagname & @CR & "innerText: " & $oElement.innerText)
        EndIf
Next


可是,我还是不明白,为什么要用LI,而不是OPTION
虽然,我用_IETagNameAllGetCollection(),来看的确包含在LI里面
那源代码为什么显示的不是呢?
 楼主| 发表于 2009-3-17 13:58:21 | 显示全部楼层
知道了,使用
#include <IE.au3> 
_IEDocReadHTML ( ByRef $o_object )


查看一下就知道了
又看了一下帮助,知道通过浏览器查看的网页源代码,可能会由于javascript或autoit等修改
所以显示不一样

狮兄,能问一下,你在这个问题上是如何操作的?
是先直接用option试了一下不行,马上就用_IEDocReadHTML()看了一下源码
然后修改TAGNAME为LI吗?
还是别的方法,还望赐教,多谢!
发表于 2009-3-17 23:14:04 | 显示全部楼层
有些网页如果不用源码读取函数获取源码,只用右键的查看源码,会得不到真正所要的,我一般是先右键查看源码,如果有问题,马上就用源码下载器.

分析网页源码,可以很清楚的看到,那个选项的变换是由点击那些文字产生的结果,而那些要被点击的文字都只能通过LI标签对象的方式取得操作所需.
 楼主| 发表于 2009-3-18 08:55:44 | 显示全部楼层
谢谢狮兄
知道了

再次感谢
 楼主| 发表于 2009-3-20 22:48:56 | 显示全部楼层
嘎得,竟然来了一个发广告的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 08:02 , Processed in 0.083477 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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