【已解决】怎么获取DOM下面的节点的值
本帖最后由 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】”,初步想法是用正则,不只有有没有更优雅的方法?
http://www.w3school.com.cn/htmldom/prop_tablerow_innerhtml.asp 看起来还是正则最方便 本帖最后由 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').text())
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 基础方法实现的。可能你不了解,正则终归不是正确的方法。
谢谢{:face (396):}
页:
[1]