1

Тема: VBS: Проверка слова на странице и воспроизведение звука

Здравствуйте, форумчане.
Помогите написать следующее:
В браузере открыта страница, которая обнавляется каждые 5 секунд.
После каждого обновления производиться проверка есть на странице определенное слово (Пусть это слово будет "Слово").
Если его нет то ничего не просходит, а идет всё дальше.
Но если есть, то запускается звуковой файл (любой).

Пишу на PHP+MySQL за еду
----
ICQ: 424812203

2

Re: VBS: Проверка слова на странице и воспроизведение звука

Dim FSO
Dim IE
Dim Down
Dim File
Dim Txt
Set FSO=CreateObject("Scripting.FileSystemObject")
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
Do
    IE.Navigate ("http://www.yandex.ru/")        'URL ресурса
    While Down = False
        WScript.Sleep 200
    Wend
    Down = False
    Set File = FSO.CreateTextFile("C:\Documents.html")  'Путь создания HTML
    file.Write(IE.document.body.innerhtml)
    file.Close
    Set File = FSO.OpenTextFile("C:\Documents.html", 1, False)    'Чтение
    Do While File.AtEndOfStream <> True
        Txt = File.ReadLine
        
        If InStr(Txt, "Слово") > 0 Then    'Здесь Слово
            MsgBox "Найдено!",vbInformation,"Internet Explorer"
            Exit Do
        End If
        
    Loop
    File.Close
    Wscript.Sleep 5000        'Время в милисекундах, через которое обновляется страница
Loop

Sub IE_DocumentComplete(pDisp, URL)
    Down = True    
End Sub

Sub IE_OnQuit()
    WScript.Quit
End Sub

3

Re: VBS: Проверка слова на странице и воспроизведение звука

Mickey666x, не надёжней ли вместо document.body.innerHTML использовать очищенный от разметки document.body.innerText и не проще ли не записывать его во внешний файл, а сразу применить к нему функцию InStr?
Т.е заменить

    Set File = FSO.CreateTextFile("C:\Documents.html")  'Путь создания HTML
    file.Write(IE.document.body.innerhtml)
    file.Close
    Set File = FSO.OpenTextFile("C:\Documents.html", 1, False)    'Чтение
    Do While File.AtEndOfStream <> True
        Txt = File.ReadLine
        
        If InStr(Txt, "Слово") > 0 Then    'Здесь Слово
            MsgBox "Найдено!",vbInformation,"Internet Explorer"
            Exit Do
        End If
        
    Loop
    File.Close

на

    If InStr(IE.Document.body.innerText, "Слово") > 0 Then    'Здесь Слово
        MsgBox "Найдено!", vbInformation, WScript.ScriptName
    End If

---
И вот это:

Dim Down
'...
    While Down = False
        WScript.Sleep 200
    Wend
    Down = False
'...
Sub IE_DocumentComplete(pDisp, URL)
    Down = True    
End Sub

по-моему понятней (я не сразу сообразил, что за Down) сделать как

    While IE.Busy
        WScript.Sleep 200
    Wend
Забыл пароль и потерял e-mail.

4

Re: VBS: Проверка слова на странице и воспроизведение звука

Воспроизвести звук вместо MsgBox можно, например, так

IE.Document.appendChild(IE.Document.createElement("BGSOUND")).src = "C:\WINDOWS\Media\tada.wav"
Забыл пароль и потерял e-mail.

5

Re: VBS: Проверка слова на странице и воспроизведение звука

Огромное спасибо, всё работает

Пишу на PHP+MySQL за еду
----
ICQ: 424812203