如何使用 VBScript 在网站上搜索文本?

How do I Search for text on a website using VBScript?

我想创建一个 VBScript 来查找网页上给定的单词组合。 如果脚本找到相同的文本,请键入:hits -with echo.

我找到了一个解决方案 here,这在一定程度上是我想要的,但到目前为止我还无法转换它以使脚本执行我想要的操作。 你能帮我看看如何让它工作吗?或者有更好的解决方案吗? 我是VbScripts的初学者,我想在这方面做,因为已经有一个系统用vbscript完成了,我想合并这个功能。

感谢您的帮助!

您可以尝试类似的方法:使用 InternetExplorer.Application 对象

Option Explicit
Call Find("Whosebug","https://whosebug.com")
Call Find("google","https://www.google.com")
Call Find("yahoo","https://www.yahoo.com")
'-----------------------------------------------------------------------------------------------
Function Find(StrString,URL)
    Dim Title,ie,objRegex,Matches,Data
    Title = "Find a String in a webpage"
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Navigate(URL) 
    ie.Visible = false 'run ie in the background
    DO WHILE ie.busy
        wscript.sleep 100
    LOOP
    Data = ie.document.documentElement.innertext
    ie.quit()
    Set ie = Nothing
    Set objRegex = new RegExp
    objRegex.Pattern = StrString
    objRegex.Global = True
    objRegex.IgnoreCase = True
    Set Matches = objRegex.Execute(Data)
    If Matches.Count > 0 Then
        MsgBox "We found this word : " & qq(StrString) &" : "& Matches.Count & " times "& vbCrLf &_
        "in " & qq(URL),vbInformation,Title
    End If
End Function
'-----------------------------------------------------------------------------------------------
Function qq(strIn)
    qq = Chr(34) & strIn & Chr(34)
End Function
'-----------------------------------------------------------------------------------------------

或使用 Microsoft.XMLHTTP 对象:

Option Explicit
Call Find("Whosebug","https://whosebug.com")
Call Find("google","https://www.google.com")
Call Find("Hackoo","https://pastebin.com/u/hackoo")
'-----------------------------------------------------------------------------------------------
Function Find(StrString,URL)
    Dim Title,HTTP_Request,objRegex,Matches,Data
    Title = "Find a String in a webpage"
    Set HTTP_Request = CreateObject("Microsoft.XMLHTTP")
    HTTP_Request.Open "GET", URL, False
    HTTP_Request.send()
    Data = HTTP_Request.responseText
    Set objRegex = new RegExp
    objRegex.Pattern = StrString
    objRegex.Global = True
    objRegex.IgnoreCase = True
    Set Matches = objRegex.Execute(Data)
    If Matches.Count > 0 Then
        MsgBox "We found this word : " & qq(StrString) &" : "& Matches.Count & " times "& vbCrLf &_
        "in " & qq(URL),vbInformation,Title
    End If
End Function
'-----------------------------------------------------------------------------------------------
Function qq(strIn)
    qq = Chr(34) & strIn & Chr(34)
End Function
'-----------------------------------------------------------------------------------------------