Est t'il possible de prendre le contrôle HTML de Edge?
Fermé
Sormick
Messages postés
145
Date d'inscription
dimanche 10 novembre 2013
Statut
Membre
Dernière intervention
8 avril 2024
-
21 oct. 2022 à 14:26
yg_be Messages postés 22733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 avril 2024 - 21 oct. 2022 à 19:25
yg_be Messages postés 22733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 avril 2024 - 21 oct. 2022 à 19:25
A voir également:
- Vba createobject edge
- Desinstaller edge - Guide
- Edge - Télécharger - Navigateurs
- Supprimer bing de edge - Guide
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum Programmation
2 réponses
yg_be
Messages postés
22733
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 avril 2024
1 477
21 oct. 2022 à 14:41
21 oct. 2022 à 14:41
bonjour,
il est possible de faire des requêtes HTML sans utiliser un navigateur.
Sormick
Messages postés
145
Date d'inscription
dimanche 10 novembre 2013
Statut
Membre
Dernière intervention
8 avril 2024
21 oct. 2022 à 18:04
21 oct. 2022 à 18:04
Je souhaite par exemple cliquer automatiquement sur des liens sur une page HTML et cliquer sur un bouton "télécharger".
Voici ci dessous ma macro que je dois adapter pour EDGE ou encore CHROME si possible.
Je veux par exemple cliquer automatiquement sur des liens dans un site . Voici ma macro que je dois adapter pour EDGE ou CHROME: If Sheets("DEPS").Range("o1") = "OUI" Then GoTo debut1 Sheets("MACROS").Range("c1").Value = "1" debut1:: Dim m As Integer Dim B As Integer Dim C As Integer Dim Rng As Range, cell1 As Range m = "0" Sheets("DEPS").Activate If Sheets("DEPS").Range("o1") = "OUI" Then GoTo zapper1 Sheets("DEPS").Cells.Clear zapper1:: Dim str_val As Object marker = 0 Set objShell = CreateObject("Shell.Application") IE_count = objShell.Windows.Count For x = 0 To (IE_count - 1) On Error Resume Next my_url = objShell.Windows(x).document.Location my_title = objShell.Windows(x).document.Title If my_title Like "CAPE" & "*" Then Set IE = objShell.Windows(x) marker = 1 Exit For Else End If Next If marker = 0 Then MsgBox ("Pas de fenêtre trouvée") Else Application.Wait (Now + TimeValue("00:00:01")) With IE .Visible = True ShowWindow .hwnd, SW_MAXIMIZE End With Application.Wait (Now + TimeValue("00:00:01")) If Sheets("DEPS").Range("o1") = "OUI" Then GoTo zapper2 For Each l In IE.document.getElementsByTagName("a") If l Like "*/despatch/*" Then m = m + 1 Cells(m, 1) = l End If Next zapper2:: Set Rng = Sheets("DEPS").Range("A1:A1000") For Each cell1 In Rng If cell1.Value <> "" Then If cell1.Value = "" Then MsgBox "cool" Set objShell = CreateObject("Shell.Application") IE_count = objShell.Windows.Count For x = 0 To (IE_count - 1) On Error Resume Next my_url = objShell.Windows(x).document.Location my_title = objShell.Windows(x).document.Title If my_title Like "CAPE*" & "*" Then Set IE = objShell.Windows(x) marker = 1 Exit For Else End If Next For Each l In IE.document.getElementsByTagName("a") If l = cell1.Value Then l.Click Exit For End If Next End If Sheets("liens").Activate Set objShell = Nothing Sheets("liens").Cells.Clear m = "0" Application.Wait (Now + TimeValue("00:00:03")) Set objShell = CreateObject("Shell.Application") IE_count = objShell.Windows.Count For x = 0 To (IE_count - 1) On Error Resume Next my_url = objShell.Windows(x).document.Location my_title = objShell.Windows(x).document.Title If my_title Like "ATAT" & "*" Then Set IE = objShell.Windows(x) marker = 1 Exit For Else End If Next If marker = 0 Then MsgBox ("Pas de fenêtre trouvée") Else Application.Wait (Now + TimeValue("00:00:01")) With IE .Visible = True While IE.ReadyState <> 4: Wend ShowWindow .hwnd, SW_MAXIMIZE End With Sheets("liens").Cells.Clear B = "0" suitb:: If cell1.Value = "" Then GoTo fin For Each l In IE.document.getElementsByClassName("event-details")(B).getElementsByTagName("div") m = m + 1 Cells(m, 1) = l.innertext If l.innertext = "Despatch closed" Then l.Click End If Next Dim cellul26 As Range Set cellul26 = Sheets("LIENS").Columns("a").Find("Despatch closed", Sheets("LIENS").Range("a65536"), xlValues) If cellul26 Is Nothing Then B = B + 1 Sheets("liens").Cells.Clear GoTo suitb End If Set cellul26 = Nothing While IE.ReadyState <> 4: Wend m = "0" suitc:: Sheets("liens").Cells.Clear C = "0" For Each l In IE.document.getElementsByClassName("button-tabs")(C).getElementsByTagName("button") m = m + 1 Cells(m, 1) = l.innertext If l.innertext = "items" Then l.Click End If Next Set cellul26 = Sheets("LIENS").Columns("a").Find("items", Sheets("LIENS").Range("a65536"), xlValues) If cellul26 Is Nothing Then C = C + 1 Sheets("liens").Cells.Clear GoTo suitc End If Set cellul26 = Nothing While IE.ReadyState <> 4: Wend Sheets("liens").Cells.Clear With IE Set dmt1 = .document dmt1.getElementById("full-details-button").Click End With Set dmt1 = Nothing For Each l In IE.document.getElementsByClassName("button-tabs")(0).getElementsByTagName("button") m = m + 1 Cells(m, 1) = l.innertext If l.innertext = "items" Then l.Click End If Next While IE.ReadyState <> 4: Wend Sheets("liens").Cells.Clear Application.Wait (Now + TimeValue("0:00:02")) With IE Set dmt1 = .document dmt1.getElementById("downloadFullDetailsButton").Click End With Set dmt1 = Nothing While IE.ReadyState <> 4: Wend Application.Wait (Now + TimeValue("0:00:03")) SetCursorPos Sheets("CURSEUR").Range("a1").Value, Sheets("CURSEUR").Range("b1").Value 'x and y position mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 Application.Wait (Now + TimeValue("0:00:01")) SetCursorPos Sheets("CURSEUR").Range("a2").Value, Sheets("CURSEUR").Range("b2").Value 'x and y position mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 IE.Quit Set objShell = Nothing End If Next cell1 End If fin:: Sheets("DEPS").Range("o1") = "" If Sheets("MACROS").Range("b1").Value = "" Then Call suitepage GoTo debut1 End If If Not Sheets("MACROS").Range("b1").Value = "" Then If Sheets("MACROS").Range("c1").Value = Sheets("MACROS").Range("b1").Value Then Exit Sub If Sheets("MACROS").Range("c1").Value < Sheets("MACROS").Range("b1").Value Then Call suitepage GoTo debut1 End If End If
yg_be
Messages postés
22733
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 avril 2024
1 477
21 oct. 2022 à 19:25
21 oct. 2022 à 19:25
Je ne pense pas que tu puisses continuer à utiliser la même approche, en VBA, avec un autre navigateur.
21 oct. 2022 à 14:44
Je ne pense pas. Pour Edge pas possible de prendre son contrôle?
21 oct. 2022 à 16:49
Que veux-tu réaliser précisément?
Il est possible de faire des requêtes HTML sans utiliser un navigateur.