找回密码
 加入
搜索
查看: 2936|回复: 2

[IE类操作] 能否在对象属性名称中使用变量?

[复制链接]
发表于 2011-6-2 09:10:39 | 显示全部楼层 |阅读模式
本帖最后由 easefull 于 2011-6-3 10:04 编辑
已知HTML 4.01标准中
<h1>标签可能拥有以下属性:
        class, id, style, title, dir, lang, xml:lang
        align
<button>标签可能拥有以下属性:
        class, id, style, title, dir, lang, xml:lang, accesskey, tabindex
        disabled,name,type,value
......



在已取得某网页的<h1>对象=$oElement的情况下,我可以通过方法以下来获取相应的属性值
$oElement.classname
$oElement.id
$oElement.align
......


我的想法是:
如果可以在对象属性名称中使用字符串变量,那么就可以定义某标签的全部属性名称为一个数组.用For...in...Next就可以获取全部的属性值
这样子在获取不同标签属性时,只需要修改那个数组内容就可以了

如果可以使用变量,$oElement.xxx该怎么书写?
;获取HTML标签属性
#include <IE.au3>
#include <Array.au3>

Local $oIE = _IEAttach("firstChild测试页")
Local $oElement = $oIE.document.getElementsByTagName("h1").item(0)
If Not IsObj($oElement) Then MsgBox(48, 0, "ERROR!")
If Not IsObj($oElement) Then Exit

Local $sAttrib  = "classname,id,style,title,dir,lang,align"
Local $asAttrib = StringRegExp($sAttrib, "([^,]+)", 3)
Local $sResult  = ""
;~ _ArrayDisplay($asAttrib)
For $sAttrib In $asAttrib
        $sResult &= $sAttrib &@TAB&@TAB& "Object." & $sAttrib & " = " & $oElement.$sAttrib & @CRLF
Next
MsgBox(0, "Result", $sResult)
Exit



我用来测试的网页代码:
<html>
<head>
<title>firstChild测试页</title>
</script>
</head>

<body>
        <h1 align="center">Hello World!</h1>
</body>
</html>
另外,有没有好一些的办法可以方便的获取全部的属性?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-6-3 04:14:12 | 显示全部楼层
小顶.顺便补一句:此题是不是无解?
发表于 2011-6-5 20:06:05 | 显示全部楼层
Assign
--------------------------------------------------------------------------------

给指定变量赋值.

Eval
--------------------------------------------------------------------------------

返回字符串变量的值.


Eval ( 字符串 )

可以用变量返回的值定义一个新变量
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 05:50 , Processed in 0.076427 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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