Per i browser basati su chromium esisterebbe un "componente" da installare e alle cui librerie fare riferimento per poter fare quanto è possibile tramite IE (dove le librerie sono già presenti e richiamabili)
https://florentbr.github.io/SeleniumBasic/
Io avevo fatto qualche prova con Chrome per il quale occorre però trovare i driver aggiornati (nella pagina che ho linkato c'è anche il collegamento).
Non so se per Edge vi siano disponibili dei driver simili.
Uno dei problemi riscontrati con i browser come Chrome è per lo scaricamento dei file (ex le fatture elettroniche).
In IE viene proposta una barra con le varie opzioni. Opzioni che sono attivabili tramite i comandi da tastiera (onKey).
Con Chrome questo "controllo" non è possibile e per lo scaricamento degli xml, che vengono "bloccati" in quanto considerati pericolosi, non ho trovato un modo per eseguire la conferma (da fare manualmente con il mouse).
Questo era un esempio di accesso a Fisconline/Entratel utilizzando il "Selenium Basic" installato (è di parecchi mesi fa e non è detto che le url siano ora corrette perché nel frattempo qualche modifica è stata fatta sul sito Ade):
Sub AccessoFisconlineChrome(Nominativo As String, _
Utente As String, _
Password As String, _
Pin As String, _
UtenzaDilavoro As String, _
AccediPrecompilata As Boolean, _
AccediPrecompilataFE As Boolean, _
AccediCassettoFiscale As Boolean)
Dim but As Selenium.WebElement
Dim bLoginOK As Boolean
Dim sTestoAvviso As String
'Select Case LeggiTipoAccesso
' Case sAccessoFiscOnline
' sTestoAvviso = ": Accesso Fisconline/Entratel in corso. Attendere ..."
' Case sAccessoCassettoFiscale
' sTestoAvviso = ": Accesso Cassetto Fiscale in corso. Attendere ..."
' Case sAccessoPrecompilata
' sTestoAvviso = ": Accesso Dichiarazione Precompilata in corso. Attendere ..."
'End Select
On Error GoTo Errore
Application.StatusBar = Nominativo & sTestoAvviso
Const iDelay As Double = 1000 * 1.5
Set ChromeApp = New Selenium.WebDriver
With ChromeApp
.Start "Chrome"
.Window.Maximize
.Get "
https://iampe.agenziaentrate.gov.it/sam/UI/Login?realm=/agenziaentrate"
.Wait iDelay
For Each but In .FindElementsByTag("a")
If Trim(UCase(but.Text)) = "CREDENZIALI" Then
but.Click
.Wait iDelay
Exit For
End If
Next but
.FindElementById("username-fo-ent").SendKeys Utente
.FindElementById("password-fo-ent").SendKeys Password
.FindElementById("pin-fo-ent").SendKeys Pin
.Wait iDelay / 2
For Each but In .FindElementsByTag("button")
If Trim(UCase(but.Text)) = "ACCEDI" Then
but.Click
.Wait iDelay * 2
Exit For
End If
Next but
For Each but In .FindElementsByTag("button")
If Trim(UCase(but.Text)) = "ESCI" Then
bLoginOK = True
.Wait iDelay
Exit For
End If
Next but
If bLoginOK Then
If UtenzaDilavoro <> "" Then
.Get "
https://portale.agenziaentrate.gov.it/PortaleWeb/cambiautenza"
.Wait iDelay * 3
For Each but In .FindElementById("utenza").FindElementsByTag("option")
If Replace(but.Text, " ", "") = UtenzaDilavoro Then
but.Click
.Wait iDelay * 2
Exit For
End If
Next but
For Each but In .FindElementsByTag("button")
If Trim(UCase(but.Text)) = "CONFERMA" Then
but.Click
Exit For
End If
Next but
End If ' UtenzaDiLavoro <> ""
If AccediPrecompilata Then
.Get "
https://telematici.agenziaentrate.gov.it/Servizi/PreCompilato/Dichiarazione/Cittadini.do?method=accessoPrecompilato"
If AccediPrecompilataFE Then
.Wait iDelay
.Get "
https://dichiarazioneprecompilata.agenziaentrate.gov.it/FattureWeb"
End If
End If
If AccediCassettoFiscale Then
.Get "
https://telematici.agenziaentrate.gov.it/CassettoFiscale/Cassetto/CassettoFiscaleServlet" '"
https://telematici.agenziaentrate.gov.it/Servizi/consultazioneCassetto.jsp"
.Wait iDelay
For Each but In .FindElementsByTag("a")
If Trim(UCase(but.Text)) = "CASSETTO FISCALE PERSONALE" Then
but.Click
Exit For
End If
Next but
End If
Else
.Quit
MsgBox "Login non riuscito. Verificare i dati di accesso.", vbExclamation, "Login non riusicito"
End If 'bLoginOk
End With ' ChromeApp
RiprendiErrore:
Application.StatusBar = False
Exit Sub
Errore:
Select Case Err.Number
Case Else
MsgBox "Si è verificato un errore imprevisto!" & vbNewLine & _
"Errore n. " & Err.Number & vbNewLine & _
Err.Description, vbCritical, "Errore VBA imprevisto"
End Select
If Not ChromeApp Is Nothing Then ChromeApp.Quit
Resume RiprendiErrore
End Sub