L'accès IE onglets une fois créé
À l'aide de VBA, je peux créer un objet InternetExplorer avec 3 onglets différents à l'aide de la suite de
Option Explicit
Public Enum IE_READYSTATE
Uninitialised = 0
Loading = 1
Loaded = 2
Interactive = 3
complete = 4
End Enum
Sub Example_Click()
Dim ieApp As clsIE
'Create IE and login
If ieApp Is Nothing Then
Set ieApp = New clsIE
With ieApp
'IE Tab1
.IE.Visible = True
.IE.navigate "http://www.bbc.co.uk/news/"
Do While .IE.Busy Or Not .IE.readyState = IE_READYSTATE.complete: DoEvents: Loop
'IE Tab2
.IE.Navigate2 "http://www.bbc.co.uk", CLng(2048)
Do While .IE.Busy Or Not .IE.readyState = IE_READYSTATE.complete: DoEvents: Loop
'IE Tab3
.IE.Navigate2 "http://www.bbc.co.uk", CLng(2048)
Do While .IE.Busy Or Not .IE.readyState = IE_READYSTATE.complete: DoEvents: Loop
End With
End If
End Sub
Comment puis-je accéder à ces onglets......
- Quitter/Fermer un onglet spécifique?
- Naviguer vers une nouvelle URL sur un onglet spécifique?
- Accéder à un onglet spécifique DOM?
Je sais comment faire tout cela avec un seul onglet, mais pas plusieurs onglets?
OriginalL'auteur user3357963 | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une réponse qui semble fonctionner, mais je n'ai pas fait de tests rigoureux. J'ai modifié ton code pour que je puisse l'exécuter sans votre clsIE module. Ce code permet de naviguer dans les différents onglets 3 url lors de l'ouverture et accède ensuite à la nouvelle url à l'aide de la shellwindows objet.
J'ai changé le faire alors que .occupée.. lignes qu'ils n'ont pas de travail pour les 2ème et 3ème onglets en ce que l'état de l'IE applecation était prêt tandis que les nouveaux onglets étaient toujours en cours de chargement.
Il utilise le ShellWindows pour manipuler les onglets. Ceci n'est fait que par le nombre donc je suppose qu'il pourrait être sujette à des erreurs.
Pour le rendre plus robuste, vous pouvez obtenir des informations à partir de l'onglet après une opération et vérifier que la valeur est la même, en revenant à elle. Par exemple
sPageTitle = SWs.Item(IETab3Number - 1).Document.Title
pourrait être utilisé pour enregistrer le titre de la page dans un onglet, la prochaine fois que vous voulez utiliser la touche de tabulation, vous pouvez vérifier qu'il n'a pas changé.OriginalL'auteur Graham Anderson
Solution Simple est juste de réaffecter le nouvel onglet à l'objet
OriginalL'auteur Neechalkaran
Voici comment j'ai résolu le problème de regroupement des onglets dans une fenêtre IE à l'aide de VBScript. Si la fonction trouve la fenêtre de IE avec un onglet dont l'URL commence par
tabGroupS
(par exemple,"http://stackoverflow.com"), puis il ajoute un nouvel onglet de cette fenêtre et retourne cet onglet sinon, il ouvre une nouvelle fenêtre.OriginalL'auteur Winand
Essayez ce code:
OriginalL'auteur Raulsoul