Ciao a tutti,
ho un problema che non riesco a risolvere.
Questo è il codice:
codice:
Dim htmlpage As String = WebBrowser1.Document.Body.InnerHtml 'Riferimento 2
Dim allData() As String = Split(htmlpage, "//")
For Each data As String In allData
If data.Contains("var _ = {};") = True Then
Dim linea() As String = Split(data, ";")
For Each linea_contenuto As String In linea
If linea_contenuto.Contains("name_enus") = True Then
Dim temp() As String = Split(linea_contenuto, "]")
Dim temp2() As String = Split(temp(1), ",q")
If temp(0).Substring(2).Contains("[") = True Then
temp(0) = temp(0).Substring(1)
End If
If RichTextBox1.Text = "" Then
Dim titolo As String = WebBrowser1.DocumentTitle
Dim titolo2() As String = Split(titolo, " - ")
RichTextBox1.Text = "['" & titolo2(0) & "'] = {"
End If
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & "['" & temp(0).Substring(2) & "'] = { name = " & temp2(0).Substring(12) & " }"
MyBase.Update()
WebBrowser2.Navigate("http://www.sito.com/?item=" & temp(0).Substring(2)) 'Rifermento 2
End If
Next
RichTextBox1.Text = RichTextBox1.Text & "," & vbNewLine & "}"
RichTextBox2.Text = RichTextBox2.Text & vbNewLine & WebBrowser1.Url.ToString & " downloaded"
Exit For
End If
Next
Riferimento 1: Il webbrowser1 è già stato caricato, in quanto il codice sopra è chiamato da webbrowser1.documentcompleted
Riferimento 2: Qui è dove voglio arrivare ad aggiungere le informazioni del webbrowser2
Lo scopo di questo codice è di andare a scaricare da una pagina delle stringhe con il nome di oggetti che sono nel codice HTML, ma vorrei che dentro al loop ricavo delle informazioni aggiuntive tramite un altro webbrowser che carico con la pagina dell'oggetto specifico (Riferimento 2), lo aggiungo al RichTextBox1.text e poi continua con un altro oggetto.
Il problema è che continua ad andare avanti, indipendentemente se metto un loop con "Do Until WebBrowser2.IsBusy = False", e quindi rimango con solo la stringa con il nome, mentre io vorrei avere la stringa con il nome e le informazioni dall'altra pagina.
Potrei usare una funzione che esegue la lettura della pagina e ritorni le informazioni, ma come ho detto, il loop procede e non attende che la pagina sia caricata e che le informazioni siano lette dalla funzione.
Praticamente, in fine vorrei un risultato di questo tipo:
codice:
['Titolo'] = {
['NumeroOggetto'] = { name = "NomeOggetto", info = {
{ other = "Le info aggiuntive del webbrowser2" },
}
}
Qualche aiuto?