Come abilitare la modalità IE nel browser Chromium Edge in selenio C #?

Aug 22 2020

Desidero automatizzare un sito Web in Edge che richiede l'abilitazione della modalità IE. Come posso avviare Edge in modalità IE in selenio?

Di seguito il codice che attualmente utilizzo avvia Edge in modalità non IE, che non visualizzerà correttamente il sito Web.

    Dim edgeDriverService = Microsoft.Edge.SeleniumTools.EdgeDriverService.CreateChromiumService()
    Dim edgeOptions = New Microsoft.Edge.SeleniumTools.EdgeOptions()
    edgeOptions.PageLoadStrategy = PageLoadStrategy.Normal
    edgeOptions.UseChromium = True
    Dim driver As IWebDriver = New Microsoft.Edge.SeleniumTools.EdgeDriver(edgeDriverService, edgeOptions)
    driver.Navigate().GoToUrl("http://example.com")

Ho provato a usare edgeOptions.AddAdditionalCapability("ie.edgechromium", True)ma non ha funzionato

Risposte

2 YuZhou Aug 24 2020 at 07:02

Puoi fare riferimento alla sezione Automazione della modalità Internet Explorer in questo articolo su come utilizzare la modalità IE in Edge Chromium in Selenium C #.

Puoi fare riferimento ai seguenti passaggi:

  1. Scarica l' ultima versione di IEDriverServer dal sito Selenium . Qui uso Windows IE versione 3.150.1 a 32 bit.
  2. Fare alcuni preparativi per utilizzare IEDriver in base a questo .
  3. Crea un progetto console C # usando Visual Studio.
  4. Installa il pacchetto nuget Selenium.WebDriver 3.141.0 dal gestore pacchetti Nuget.
  5. Aggiungi il codice seguente al progetto e modifica i percorsi con i tuoi nel codice:
static void Main(string[] args) 
{ 
    var dir = "{FULL_PATH_TO_IEDRIVERSERVER}"; 
    var driver = "IEDriverServer.exe"; 
    if (!Directory.Exists(dir) || !File.Exists(Path.Combine(dir, driver))) 
    { 
        Console.WriteLine("Failed to find {0} in {1} folder.", dir, driver); 
        return; 
    } 

    var ieService = InternetExplorerDriverService.CreateDefaultService(dir, driver); 
    var ieOptions = new InternetExplorerOptions{}; 
    ieOptions.AddAdditionalCapability("ie.edgechromium", true); 
    ieOptions.AddAdditionalCapability("ie.edgepath", "{FULL_PATH_TO_MSEDGE.EXE}"); 

    var webdriver = new InternetExplorerDriver(ieService, ieOptions, TimeSpan.FromSeconds(30)); 
    webdriver.Url = "http://www.example.com"; 
}
  1. Esegui il progetto per testare:

Appunti:

  1. Assicurati di chiudere tutte le schede e la finestra del browser Edge prima di eseguire il codice.
  2. Usa percorsi completi nel codice. Ad esempio: ieOptions.AddAdditionalCapability("ie.edgepath", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");.