【问题标题】:How to parse HTML in AutoHotKey?如何在 AutoHotKey 中解析 HTML?
【发布时间】:2016-04-28 06:58:15
【问题描述】:

我在解析 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 都无法显示正确的值。

【问题讨论】:

    标签: javascript html autohotkey


    【解决方案1】:

    您需要复习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
    

    【讨论】:

      猜你喜欢
      • 2013-08-23
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2010-10-05
      • 2014-03-29
      • 2021-02-18
      • 1970-01-01
      相关资源
      最近更新 更多