是否有切换/功能来禁用chromedriver自动截屏捕获?

时间:2018-02-28 19:48:26

标签: selenium selenium-webdriver selenium-chromedriver

我有点卡住了。 当我与页面交互时,我可能会尝试单击另一个元素所覆盖的元素。

Chromedriver提出异常

  

“ClickElement未知错误:元素....在点(190,567)处无法点击。   其他元素将收到点击:“

我正在使用JSONWired协议,/click命令的结果是一个巨大的JSON,其中包含此处描述的所有字段:https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#failed-commands,包括screen属性,该截图是页。

在引发异常时是否有开关或设置或标志或某些东西禁用获取屏幕截图?页面非常大,获取屏幕截图需要3-4秒。我只是不需要它。

1 个答案:

答案 0 :(得分:0)

在尝试点击你的网页元素之前,你可以尝试调用这个等待ajax空闲的方法:

public static void waitForJQueryToBeActive() {
    Boolean isJqueryUsed = (Boolean) ((JavascriptExecutor) driver)
            .executeScript("return (typeof(jQuery) != 'undefined')");
    if (isJqueryUsed) {
        while (true) {
            // JavaScript test to verify jQuery is active or not
            Boolean ajaxIsComplete = (Boolean) (((JavascriptExecutor) driver)
                    .executeScript("return jQuery.active == 0"));
            if (ajaxIsComplete)
                break;
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
            }
        }
    }
}