2011-08-15 92 views
0

即時通訊作爲teenspot的朋友加法器,這就是我所擁有的。基本上你點擊一個按鈕,它會添加列表中選擇的人,然後你必須再次點擊它才能添加下一個。事情是我需要知道如何循環這個所以它只是不斷向下移動列表中添加人自動如何在Visual Basic中循環這段代碼?

WebBrowser1.Navigate("www.teenspot.com/profiles/" & ListBox.SelectedItem & "/add") 
    ListBox.SelectedIndex = ListBox.SelectedIndex + 2 
    ' This is the "sleep" function. 
    ' This makes your webbrowser finish loading before new action. 

    Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete And WebBrowser1.IsBusy = False 
     Application.DoEvents() 
    Loop 


    WebBrowser1.Document.GetElementById("confirm").InvokeMember("click") 

香港專業教育學院嘗試多次與做......循環和FOR..NEXT和所有的東西還挺,但我仍然沒有想出來。它所做的只是通過添加我的頁面,並且從不點擊確認這是第二部分。 IM還挺新到VB因此,如果有人我可以幫ID真的很感激

+0

等待,我有點困惑。你點擊一個按鈕,然後添加一個人到列表框? – MGZero

回答

0

要回答這個問題:

的事情是我需要知道如何循環這個所以它只是不斷向下移動列表中添加人自動

要添加的所有好友列表中點擊一個按鈕:
使用對於每一個/下一個

For Each item As String In ListBox1.Items 
    WebBrowser1.Navigate("www.teenspot.com/profiles/" & item & "/add") 
    Do Until WebBrowser1.ReadyState = Complete And WebBrowser1.IsBusy=False   
     Application.DoEvents()  
    Loop  
    WebBrowser1.Document.GetElementById("confirm").InvokeMember("click") 
Next 

只添加所選擇的朋友,然後移動選定的列表項下移一步,等待一個新的按鈕點擊,這樣做:

If Not ListBox1.SelectedItem Is Nothing Then 
    WebBrowser1.Navigate("www.teenspot.com/profiles/" & ListBox1.SelectedItem.ToString & "/add") 
    If Not ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then ListBox1.SelectedIndex += 1 
    Do Until WebBrowser1.ReadyState = Complete And WebBrowser1.IsBusy=False   
     Application.DoEvents()  
    Loop  
    WebBrowser1.Document.GetElementById("confirm").InvokeMember("click") 
End If 

而對於這一點:

它只能通過運行添加我的網頁,從不點擊確認這是第二部分。

我們必須知道HTML文檔是如何構成研究這個的,有元素「確認」一個JavaScript點擊事件還是它只是一個後表單按鈕?我無法檢查出來,沒有登錄到網站。 (和我不是一個十幾歲,所以我不會在那裏創建一個帳戶);-)

但是,你應該能夠執行點擊沒有InvokeMember我認爲。像這樣:

WebBrowser1.Document.GetElementById("confirm").click() 

我不是100%確定的,但我想我以前就是這樣做的。 按鈕是否像click =「AddFriend()」或類似的東西一個javascript,也許你可以使用invokescript調用該函數,而不是直接點擊按鈕,像這樣:

WebBrowser1.Document.InvokeScript("AddFriend()")