我在解析 HTML 文件时遇到问题。问题是,我见过的所有例子对于初学者来说都太复杂了,我根本不理解它们。我已经阅读了 GetNestedTag 手册,但似乎有更好的方法:使用 HTML Dom。
我有很多标签(不确定这是否是正确的词),例如:
</span> 3272</p>
<h1 class="articleTitle">Title of text</h1>
如何获取文本:第一种情况下的“3272”和第二种情况下的“文本标题”?
到目前为止我已经尝试过:
htmlCode = <h1 class="articleTitle">Title of text</h1>
html := ComObjCreate("HTMLFile")
html.write(htmlCode)
MsgBox % html.getElementsByClassName("articleTitle")[0].innerText\
我也尝试过:
IE := ComObjCreate("InternetExplorer.Application")
IE.Visible := true
IE.Navigate("http://archiwum.rp.pl/artykul/473989-Miller-rezygnuje-z-kierowania-SLD.html#.VwkZz_mLTcs" PostCode)
while IE.readyState!=4 || IE.document.readyState != "complete" || IE.busy
continue
Sleep 1000
Title_element := Name_Elements[A_Index-1].parentElement.getElementsByClassName("articleTitle")[0]
Title_text := Title_element.innertext
msgbox, % title_text
ExitApp
在每种情况下MsgBox
无法显示正确的值。
最佳答案
您需要温习Dom为了使用 COM 正确导航和解析网站。
我在这里建议这个帖子:Basic Webpage Controls with JavaScript / COM - Tutorial
IE := ComObjCreate("InternetExplorer.Application")
IE.Visible := true
IE.Navigate("http://archiwum.rp.pl/artykul/473989-Miller-rezygnuje-z-kierowania-SLD.html#.VwkZz_mLTcs" PostCode)
while IE.readyState!=4 || IE.document.readyState != "complete" || IE.busy
continue
Sleep 1000
Title_text := IE.document.getElementsByClassName("articleTitle")[0].innertext
MsgBox % Title_text
关于javascript - 如何在 AutoHotKey 中解析 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518982/