Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium正在等待jQuery.com_Java_Jquery_Selenium Webdriver_Jquery Masonry - Fatal编程技术网

Java Selenium正在等待jQuery.com

Java Selenium正在等待jQuery.com,java,jquery,selenium-webdriver,jquery-masonry,Java,Jquery,Selenium Webdriver,Jquery Masonry,我正试图等到Mashise在Java中完全加载了这段代码 String javaScript = "function defer() {" +"if (window.jQuery.masonry)" +"{ return true }" +"else" +"{ return false }"

我正试图等到Mashise在Java中完全加载了这段代码

    String javaScript = "function defer() {"
                        +"if (window.jQuery.masonry)"
                        +"{ return true }"
                        +"else"
                        +"{ return false }"
                        +"}; defer()";

    boolean isMasonryLoaded=false;
    while(!isMasonryLoaded)
    {
        isMasonryLoaded = (boolean)(((JavascriptExecutor)driver).executeScript(javaScript));
    }
然而,当(!isMasonryLoaded)
有什么想法吗?

可能是您的脚本函数
defer()
在调用之前没有定义,您应该尝试使用
executeAsyncScript
,如下所示:-

String javaScript = "var callback = arguments[0];"+
            "function defer() {if (window.jQuery.masonry){ "+
            "callback(true) }else{ callback(false) }}; defer()";

boolean isMasonryLoaded=false;
while(!isMasonryLoaded)
{
 isMasonryLoaded = (boolean)(((JavascriptExecutor)driver).executeAsyncScript(javaScript));
}

希望对您有所帮助:)

可能是您的脚本函数
defer()
在调用之前没有定义,您应该尝试使用
executeAsyncScript
,如下所示:-

String javaScript = "var callback = arguments[0];"+
            "function defer() {if (window.jQuery.masonry){ "+
            "callback(true) }else{ callback(false) }}; defer()";

boolean isMasonryLoaded=false;
while(!isMasonryLoaded)
{
 isMasonryLoaded = (boolean)(((JavascriptExecutor)driver).executeAsyncScript(javaScript));
}

希望对您有所帮助:)

谢谢,它停止了NullPointerException,js工作不正常,但这不是问题所在,所以谢谢:)谢谢,它停止了NullPointerException,js工作不正常,但这不是问题所在,所以谢谢:)