找回密码
 加入
搜索
查看: 1513|回复: 5

[网络通信] 【已解决】怎么获取DOM下面的节点的值

[复制链接]
发表于 2018-10-22 00:11:58 | 显示全部楼层 |阅读模式
本帖最后由 xkk2600 于 2018-11-6 11:32 编辑

<div class="shoppingCart-package"  data-saleordnum="SG7"  data-action-cd="new">
  <div class="pakage-topp">
    <p class="name">
      <em name="actionCd">【ok】</em>
        </p>
</div>  

</div>
找到这个DOM后

Local $Eles = _IEQuery($oIE,"div",'class="shoppingCart-package"')

然后怎么找到"P"标签中的“【OK】”,初步想法是用正则,不只有有没有更优雅的方法?



发表于 2018-10-22 09:54:49 | 显示全部楼层
 楼主| 发表于 2018-10-22 14:36:36 | 显示全部楼层
看起来还是正则最方便
发表于 2018-10-22 14:39:42 | 显示全部楼层
本帖最后由 wo2china 于 2018-10-22 14:41 编辑
;插入JQuery
Func _InsertJQuery($oIE)
        Local $sScript_jQuery = FileRead(@ScriptDir & '\jquery-3.3.1.min.js')

        Local $oHead = _IETagNameGetCollection($oIE, "head", 0)

        $objScript = $oIE.document.createElement('script')
        $objScript.type = 'text/javascript'
        $objScript.language = 'javascript'
        $objScript.text = $sScript_jQuery
        $oHead.appendChild($objScript)

        $oIE.Document.parentWindow.execScript("document.body.jQuery = jQuery;")
        $oIE.Document.parentWindow.execScript("document.body.eval = eval;")

        $ojQuery = $oIE.Document.body.jQuery
        $oEval = $oIE.Document.body.eval

        While Not (IsObj($ojQuery))
                Sleep(100)
        WEnd

        $ojQuery.noConflict()
        Return $ojQuery
EndFunc   ;==>_InsertJQuery

$oIE = _IEAttach("", "instance", 1)
$jq = _InsertJQuery($oIE)

msgbox(0, "", $jq('div.shoppingCart-package em[name="actionCd"]').text())
发表于 2018-10-22 17:25:12 | 显示全部楼层
xkk2600 发表于 2018-10-22 14:36
看起来还是正则最方便

#include <IE.au3>

$oIE = _IECreate(@ScriptDir & '\1.html')

$oElement = _IEGetObjByName($oIE, 'actionCd')
MsgBox(0, '', $oElement.innerHTML)

_IEQuit($oIE)





一句话就可以了,你仔细看 IE.au3 里面的实现,都是使用的这些 DOM 基础方法实现的。可能你不了解,正则终归不是正确的方法。

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 00:05 , Processed in 0.100792 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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