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

问题描述 投票:0回答:1

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

Chromedriver提出了一个例外

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

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

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

selenium selenium-webdriver selenium-chromedriver
1个回答
0
投票

在尝试单击您的web元素之前,您可以尝试调用此方法,该方法一直等到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) {
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.