首页 > 解决方案 > 获取“无法激活网络视图”

问题描述

我收到一个错误。当我进行谷歌搜索时,我得到了一些结果,但它们都是针对 Android 编程的。我正在使用 Windows、Java 1.8 和 Selenium 自动化测试。

错误

 org.openqa.selenium.WebDriverException: unknown error: cannot activate web view

我的原始代码(我没有编写但正在调试并且已经工作):

    // Clicks a link which opens a new window
    action.moveToElement(el).click(el).build().perform();
    Set<String> windows = driver.getWindowHandles();
    for (String a: windows) {
        Reporter.log(a);
        driver.switchTo().window(a);
    }

我得到的错误是“没有这样的窗口”。所以我想也许我需要等到窗口数量稳定下来,所以我在点击之后和在做窗口之前添加了以下内容:

    int winds = driver.getWindowHandles().size();
    int owinds = winds - 1;
    while (owinds != winds) {
        Thread.sleep(1000);
        owinds = winds;
        winds = driver.getWindowHandles().size();
    }

正是在这一点上,它进行了切换,我得到了

 org.openqa.selenium.WebDriverException: unknown error: cannot activate web view

正如我之前提到的,Google 中的所有内容都只谈论 Android,而事实并非如此。

任何想法都会受到欢迎。

标签: javaselenium-chromedriver

解决方案


我在使用 Webdriver.io 的 JavaScript 中遇到了这个问题。我正在回答,因为它具有此处描述的相同特征,特别是我正在打开一个新选项卡并且我会收到此错误。

我首先向我的 docker 容器添加了更多的内存/资源,然后得到了一个通过这个答案解决的问题:https ://stackoverflow.com/a/52340526/491553 。

一旦我应用了以下 Chrome 参数,我就再也没有看到这个:

  "--no-sandbox",
  "--disable-infobars", // https://stackoverflow.com/a/43840128/1689770
  "--disable-dev-shm-usage", // https://stackoverflow.com/a/50725918/1689770
  "--disable-browser-side-navigation", // https://stackoverflow.com/a/49123152/1689770
  "--disable-gpu", // https://stackoverflow.com/questions/51959986/how-to-solve-selenium-chromedriver-timed-out-receiving-message-from-renderer-exc
  "--disable-features=VizDisplayCompositor"  // https://stackoverflow.com/a/55371396/491553

推荐阅读