2

我使用Selenium 3.4使用Microsoft WebDriver(现在由Microsoft维护)来启动Edge。使用Selenium在InPrivate模式下打开边缘

有没有什么办法可以使用Selenium在InPrivate模式下启动浏览器?

我已经查找了答案,但是找不到任何答案。

我得到的最接近是How to start Edge browser in Incognito mode using selenium remote webdriver?

该方案中提到有不起作用。它只显示与InPrivate中显示的相同的选项卡,但该窗口不是私人的。因此,信息被存储并且会话不是私人的。

+0

如果我的答案有助于解决您的问题,请点击我的答案左侧的正确标记接受答案,正下方的上下选举票。请投票了..它将真正帮助我和其他人谁将在未来提及这个问题..这是如何stackoverflow工作:) ...参考: - https://meta.stackexchange.com/questions/5234/如何-不接受-的回答工作 –

回答

0

使用下面的代码:

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 
} 

注意,我们使用机器人类,因此,如果系统锁定它可能无法正常工作。

相关问题