Est t'il possible de prendre le contrôle HTML de Edge?
Sormick
Messages postés
163
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Auparavant on pouvait prendre le contrôle d'internet explorer, puis de faire des requêtes HTML, cependant IE n'est plus d'actualité aujourd'hui.
Ma question est: est t'il possible de prendre le contrôle de Edge ou Chrome et de faire des requêtes HTML et surtout sans installer d'extensions ou de logiciels spécifique sur mon PC?
Windows / Chrome 106.0.0.0
A voir également:
- Vba createobject edge
- Desinstaller edge - Guide
- Excel compter cellule couleur sans vba - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
- Find vba - Astuces et Solutions
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
il est possible de faire des requêtes HTML sans utiliser un navigateur.
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
Je ne pense pas. Pour Edge pas possible de prendre son contrôle?
Que veux-tu réaliser précisément?
Il est possible de faire des requêtes HTML sans utiliser un navigateur.