首页 文章

在selenium Chrome驱动程序中获取点击例外时,是否可以点击?

提问于
浏览
0

我们已经构建了一个网站很长一段时间,我正在实现UI UnitTesting .

它在很大程度上依赖于使用“代理”覆盖按钮以允许更多功能,例如从一个iframe拖动到另一个iframe . 从测试的角度来看,我想/需要“点击”按钮 . 它应该单击覆盖在其上的代理元素 . 然后测试可以继续 . 这适用于IE甚至是Chrome,但是当我们在Build Server上进行测试时,它失败并出现错误

抛出异常:System.InvalidOperationException:未知错误:元素在点(265,87)处不可点击 . 其他元素将收到点击:div class =“v-iframe-proxy”style =“width:100%; height:100%;” / DIV

我希望有一种方法可以忽略这种情况并且无论如何都会点击 . 任何帮助都是极好的 .

2 回答

  • 0

    我认为您的UI测试适用于服务器端的无头浏览器 . 所以你需要先设置宽度和高度 .

    如果您打印窗口的大小,您将看到:0,0

    System.out.println(driver.manage().window().getSize());
    

    因此,您可以将窗口大小设置为1024x600(或任何您想要的):

    Dimension d = new Dimension(1024,600);
    driver.manage().window().setSize(d);
    
  • 2

    我相信你有三个选择:1 . 使用这样的JavaScript执行点击:

    ((JavascriptExecutor) webdriver).executeScript("arguments[0].click()", elementToClick);
    
    • 尝试点击使用 new Actions(webdriver).click().build().perform();

    • 用try catch环绕你的点击并继续执行 .

相关问题