driver.manage()。window()。使用ChromeDriver 2.33的maximize()问题

时间:2017-10-18 02:49:18

标签: windows selenium selenium-chromedriver

ChromeDriver 2.33的发行说明表示""修复了导致调整大小/定位窗口命令在Chrome 62 +"上失败的问题。但是,当我使用Chrome 62+浏览器时,这仍然是一个问题。使用chrome驱动程序最大化chrome窗口会导致以下异常。有人知道解决方案吗?

我注意到的另一件事是,虽然我从https://chromedriver.storage.googleapis.com/index.html?path=2.33/安装了最新的chromedriver(v2.33),但下面打印的日志显示驱动程序信息: chromedriver = 2.25.426923 !!

  

线程中的异常" main" org.openqa.selenium.WebDriverException:   未知错误:无法从未知错误中获取自动化扩展:   无法找到页面:   镀铬的扩展://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html   (会话信息:chrome = 62.0.3202.62)(驱动程序信息:   chromedriver = 2.25.426923   (0390b88869384d6eb0d5d09729679f934aab9eed),platform = Windows NT   10.0.15063 x86_64)(警告:服务器未提供任何堆栈跟踪信息)

4 个答案:

答案 0 :(得分:2)

正好有两个问题。

  1. 如您所述,您已安装最新的chromedriver(v2.33),但下面打印的日志显示驱动程序信息:chromedriver = 2.25.426923,此问题必须先解决。您可以考虑从 chromedriver.exe 手动删除所有悬空的 Task Manager 任务。此外,您可以考虑使用 CCleaner 来消除系统中所有糟糕的操作系统内容。如果需要,请重新启动系统。最后确保您在 chromedriver.exe 中使用的 System.setProperty() 的绝对位置确保chromedriver二进制文件的版本为2.33。

  2. 最后,建议将 ChromeOptions 类用于 maximize Web浏览器,如下所示:

    System.setProperty("webdriver.chrome.driver", "C:\\your_directory\\chromedriver.exe");
    ChromeOptions opt = new ChromeOptions();
    opt.addArguments("disable-infobars");
    opt.addArguments("--start-maximized");
    opt.addArguments("--disable-extensions");
    WebDriver driver = new ChromeDriver(opt);
    driver.get("https://google.com");
    
  3. 以下是一些可以解决您问题的替代方案:

    • 使用WebDriver.Window界面中的maximize()

      driver.manage().window().maximize();
      
    • 使用WebDriver.Window界面中的setSize(Dimension targetSize)

      driver.manage().window().setSize(new Dimension(800, 600));
      
    • 使用addArguments("--start-maximized")ChromeOptions

      chromeOptions.addArguments("--start-maximized");
      
    • 使用addArguments("--window-size=1920,1080")ChromeOptions

      chromeOptions.addArguments("--window-size=1920,1080");
      
    • 使用JavaScriptExecutor界面中的executeScript()

      ((JavaScriptExecutor)driver).executeScript("window.resizeTo(1024, 768);");
      
  4. 您可以在Chrome - org.openqa.selenium.WebDriverException: unknown error: cannot get automation extension at driver.manage().window().maximize();

  5. 中找到相关的讨论

答案 1 :(得分:0)

使用ChromeOptions类。

System.setProperty("webdriver.chrome.driver", "h:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("disable-infobars");
options.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(options);
driver.get(url);

答案 2 :(得分:0)

我相信有一些旧的Chrome驱动程序进程在后端运行,并且在通过代码调用时会被拾取。我删除了所有进程实例,删除了旧版本的chrome驱动程序,添加了新的2.33版本并且工作正常。谢谢大家的建议。

答案 3 :(得分:0)

我认为其背后的原因可能是您的Chrome版本。重新尝试更新Chrome浏览器。我在chrome浏览器和驱动程序之间的兼容性方面遇到过这类问题