在执行自动化脚本时,使用黄瓜框架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());
}
答案 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。