如何使用Selenium Java最大化打开Chrome浏览器并通过ChromeOptions和addArguments禁止信息栏

时间:2019-12-03 11:03:57

标签: java selenium google-chrome selenium-chromedriver chrome-options

我在Mac上使用Chrome驱动程序,打开浏览器时,我有以下选项

WebDriver driver; 
@Before public void setup() { 
    ChromeOptions options = new ChromeOptions(); 
    options.addArguments("use-fake-ui-for-media-stream"); 
    options.addArguments("--disable-web-security"); 
    options.addArguments("--start-maximized"); 
    options.addArguments("disable-infobars"); 
    System.setProperty("webdriver.chrome.driver","/Users/animanukyan/Drivers/chromedriver"); 
    driver = new ChromeDriver(options); 
} 

但是它们似乎都不起作用,浏览器打开未最大化,信息栏在那里...

1 个答案:

答案 0 :(得分:0)

使用 ChromeDriver 打开 Chrome 最大化,并且没有信息栏

以前,我们是通过 argument disable-infobars 处理的,您可以在以下位置找到一些相关的讨论:

但是从 Chrome v76.x 开始,要取消信息栏,您必须:

  • start-maximized中使用 ChromeOptions addArguments 的实例。
  • ExperimentalOption 用于enable-automation
  • 使用 ExperimentalOption useAutomationExtension设置为false
  • 您可以在Unable to hide “Chrome is being controlled by automated software” infobar within Chrome v76

  • 中找到详细的讨论
  • 代码块:

    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    
    public class A_Chrome 
    {
        public static void main(String[] args) 
        {
            System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
            ChromeOptions options = new ChromeOptions();
            options.addArguments("start-maximized");
            options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
            options.setExperimentalOption("useAutomationExtension", false);
            WebDriver driver =  new ChromeDriver(options);
            driver.get("https://www.google.co.in");
            System.out.println(driver.getTitle());
            driver.quit();
        }
    }
    
  • 控制台输出:

    Google
    
  • 浏览器快照:

ChromeOptions