org.openqa.selenium.WebDriverException:未知错误:无法读取未定义的属性“ defaultView”

时间:2019-02-11 10:47:39

标签: selenium salesforce undefined uncaught-exception defaultview

在执行自动化脚本时,使用黄瓜框架iam写入了n硒,但遇到以下异常

org.openqa.selenium.WebDriverException: 
    unknown error: Cannot read property 'defaultView' of undefined

以前在spring 19之前,释放了传递的脚本。spring19之后的脚本失败并显示了异常

public void waitForElementToBeDisplayed(WebElement element) {
    driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);
    LOGGER.info("element is " +element);
    LOGGER.info(String.format("Waiting for WebElement '%s' to be displayed", element.toString().replaceAll(".*-> ", "").replace("]", "")));
    element = new WebDriverWait(driver, 40).until(ExpectedConditions.visibilityOf(element));
    Assert.assertTrue(element.isDisplayed());
}

2 个答案:

答案 0 :(得分:2)

我有类似的异常单击事件。所以我使用了一种解决方法。 我等待元素可点击,然后尝试用js单击它。

wait.until(ExpectedConditions.elementToBeClickable(STORE_ADMINISTRATION_LOCATOR));
// driver.findElement(STORE_ADMINISTRATION_LOCATOR).click(); <== this line returns
// WebDriverException: unknown error: Cannot read property 'defaultView' of undefined 

// replaced with
WebElement element = driver.findElement(STORE_ADMINISTRATION_LOCATOR);
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

答案 1 :(得分:0)

我也面临着类似的问题。今天,我通过做一些技巧克服了这个问题,我使用Thread.sleep等待10秒,同时使Salesforce Lightning应用程序自动化,最好使用thread.sleep。我没有直接单击,而是对元素进行了突出显示,然后单击了元素的内部xpath。