2

J'utilise Selenium 3.4 pour lancer Edge en utilisant Microsoft WebDriver qui est maintenant géré par Microsoft.Open Edge en mode InPrivate avec Selenium

Est-il possible de lancer le navigateur en mode InPrivate avec Selenium?

J'ai cherché des réponses mais n'en ai trouvé aucune.

Le plus proche je suis arrivé était How to start Edge browser in Incognito mode using selenium remote webdriver?

La solution mentionné il ne fonctionne pas. Il affiche simplement le même onglet que celui affiché dans InPrivate, mais la fenêtre n'est pas privée. En tant que tel, l'information est stockée et la session n'est pas privée.

+0

Si ma réponse aide à résoudre votre problème.please accepter la réponse en cliquant sur le bon signe de très à gauche de ma réponse, juste en dessous des votes haut et bas. s'il vous plaît voter aussi .. Il va vraiment m'aider et d'autres gars qui se référeront à cette question à l'avenir .. Voici comment fonctionne stackoverflow :) ... se référer: - https://meta.stackexchange.com/questions/5234/ comment-accepter-une-réponse-travail –

Répondre

0

Utilisez le code ci-dessous:

System.setProperty("webdriver.edge.driver","D:\\Workspace\\StackOverlow\\src\\lib\\MicrosoftWebDriver.exe"); //put actual location 
    WebDriver driver = new EdgeDriver(); 

    driver.navigate().to("https://www.google.com"); 
    driver.manage().window().maximize(); 

    Robot robot; 
    try { 
     robot = new Robot(); 
     robot.keyPress(KeyEvent.VK_CONTROL); 
     robot.keyPress(KeyEvent.VK_SHIFT); 
     robot.keyPress(KeyEvent.VK_P); 
     robot.keyRelease(KeyEvent.VK_CONTROL); 
     robot.keyRelease(KeyEvent.VK_SHIFT); 
     robot.keyRelease(KeyEvent.VK_P); 
     Thread.sleep(3000); 
    } catch (AWTException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    String parentWindowHandler = driver.getWindowHandle(); 
    String subWindowHandler = null; 

    Set<String> handles = driver.getWindowHandles(); 
    Iterator<String> iterator = handles.iterator(); 
    while (iterator.hasNext()){ 
     subWindowHandler = iterator.next(); 
     driver.switchTo().window(subWindowHandler); 

     System.out.println(subWindowHandler); 
    } 

    driver.get("https://stackoverflow.com/"); 
    //driver.switchTo().window(parentWindowHandler); // Uncomment this line if you want to use normal browser back 
} 

Notez que nous utilisons la classe de robot et donc si le système se bloque, il peut ne pas fonctionner.