2014-01-24 75 views
0

好吧,所以我很新的VBS和沒有這麼多的Javascript,但我有我認爲是一個複雜的問題。VBS/JavaScript的URL複雜的應用

我想要做的是創建一個VBScript,它可以用來加載一個URL並在頁面文本或源代碼中搜索一個短語。例如,「http://www.youtube.com/watch?v=21Ox58OKFmo」。我想知道如何創建一個可以用另一個數字替代「v ='21Ox58OKFmo'」的東西。基本上說,v = 55555,我希望程序爲55555添加1並使其成爲55556並重新加載頁面並搜索單詞或文本。當它發現文本時,它會回到我的身邊,告訴我它找到了那個短語。

這樣的事情?

VAR numberChange = 55555

load.URL(http://www.youtube.com/v= 「numberChange」)」

///我明白,這就是無論如何也不能如何代碼,但你明白了吧。

///然後在該頁面上搜索短語。 (「Hello」);

search.text(「Hello」); if text = 0 then numberChange + 1

///程序再次循環,每次向變量加1,直到它找到頁面上的短語>>「Hello」。

我還需要確保它實際上是停在一個合理的數目,使得我的電腦犯規繼續運行該程序。

任何幫助將用於獲取網頁的理解

回答

0

像這樣的東西應該工作:

url = "http://www.example.com/" 
phrase = "..." 

'load the page specified by the variable "url" 
Set req = CreateObject("Msxml2.XMLHTTP.6.0") 
req.open "GET", url, False 
req.send 

If req.status = 200 Then 
    'if the page was successfully loaded, write the HTML to an HTMLFile object, 
    'which will allow to retrieve the plain text (without HTML tags) from it 
    Set html = CreateObject("HTMLFile") 
    html.Write req.responseText 

    If InStr(html.body.innerText, phrase) > 0 Then 
    'if the plain text contains the phrase do this 
    WScript.Echo "Phrase found." 
    Else 
    'if the plain text doesn't contain the phrase do something else 
    WScript.Echo "Phrase not found." 
    End If 
Else 
    'if the page couldn't be loaded, show a message with status information 
    WScript.Echo "Cannot load " & url & ": [" & req.status & "] " & req.statusText 
End If 
+0

好吧,這是一個開始,但我還是有點失落。所以我把這句話改成了我想要的,並且發現它沒有問題。然而,我是在短語部分之後迷失的,什麼都是。 如果它沒有找到這個短語它做什麼?有沒有辦法讓它更改部分網址,然後再次搜索該網頁? – Monke

+1

@Monke我添加了一些註釋來解釋每一步的作用。如果沒有找到這個短語,我的原始答案就不會做任何事情。我在修改後的版本中添加了各自的「Else」分支。如果您想更改URL並在未找到該短語時重試,建議將代碼包裝到一個函數中,該函數根據是否找到該短語返回布爾值。然後,您可以在循環中修改該函數的輸入,直到它返回「真」。 –

+0

好吧,幫助很多!接受......我不知道該怎麼做......當談到這件事時,我非常無能,對不起!我不想讓你做所有事情,但是你能夠寫出它的骨架,生病只是填寫價值觀。 – Monke

0
  1. 使用CreateObject( 「MSXML2.ServerXMLHTTP」)。本網站上提供的樣品。
  2. 使用功能「POS」查找文本在剛剛下載的網頁