[英]How can i loop this code in visual basic?
我為 teenspot 做了一個朋友加法器,這就是我所擁有的。 基本上,您單擊一個按鈕並添加列表中選擇的人,然后您必須再次單擊它以添加下一個。 問題是我需要知道如何循環這個,所以它只是不斷向下移動列表自動添加人
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")
我多次嘗試使用 do...loop 和 for..next 以及所有類似的東西,但我仍然沒有弄清楚。 它的作用是,它只運行添加我的頁面,從不點擊確認第二部分。 我對 vb 有點陌生,所以如果有人可以幫助我,我真的很感激
要回答這個問題:
問題是我需要知道如何循環這個,所以它只是不斷向下移動列表自動添加人
一鍵添加列表中的所有朋友:
用於每個/下一個
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-click-event 還是只是一個 post-form-button? 如果不登錄該站點,我無法查看此內容。 (而且我不是青少年,所以我不會在那里創建帳戶);-)
但是,我認為您應該能夠在沒有 InvokeMember 的情況下執行點擊。 像這樣:
WebBrowser1.Document.GetElementById("confirm").click()
我不是 100% 確定,但我想我以前做過這樣的事情。 如果按鈕有 javascript 之類的 click="AddFriend()" 或類似的東西,也許您可以使用調用腳本直接調用 function 而不是單擊按鈕,如下所示:
WebBrowser1.Document.InvokeScript("AddFriend()")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.