Bonjour,
J'ai un objet WebBrowser sur mon forumaire nommé Web (très originale). J'ai également un list déroulante contenant plusieures dizaines de code postaux / zip (US). J'ai une boucle que prend les itèmes sélectionnés, construit un url et le passe dans la methode navigate: (voici le bout de c0de)
For iCount = 0 To lstPC.Items.Count - 1
If lstPC.GetSelected(iCount) Then
sSelectedPC = lstPC.Items(iCount).ToString
sURL = "http://www.zip-codes.com/canadian/postal-code.asp?postalcode=" & sSelectedPC.Replace(Chr(32), "+")
Web.Navigate(New Uri(sURL))
While Web.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
End While
End If
Next
Dans l'événement DocumentCompleted, je capture la page et recherche l'information que j'ai besoin, en l'occurance la ville.
Private Sub Web_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles Web.DocumentCompleted
Dim sHTML As String
Dim sToFind As String = "<title>"
sHTML = Web.DocumentText
If sHTML.IndexOf(sToFind) >= 0 Then
sCity = sHTML.Substring(sHTML.IndexOf(sToFind), 250)
sCity = sCity.Substring(sCity.IndexOf(",") + 1).Trim
sCity = sCity.Substring(0, sCity.IndexOf(",")).Trim
If Not isItemExist(sSelectedPC & " - " & sCity) Then lstCity.Items.Add(sSelectedPC & " - " & sCity)
End If
sCity = ""
End Sub
Le problème est que si je sélectionne plus d'un code postal, seul le dernier est traité par l'événement. Je comprend que ma boucle (plus haut) appel probable trop rapidement la méthode navigate, mais je testes pourant avec Web.ReadyState...
Est-ce que quelqu'un à une idée?
Merci
Partager