gpt4 book ai didi

java - 尝试执行 Javascript 时线程 "AWT-EventQueue-0"java.lang.NullPointerException 中的异常

转载 作者:行者123 更新时间:2023-11-30 18:48:21 25 4
gpt4 key购买 nike

我正在尝试在通过我的 Java 应用程序加载的 DOM html 页面上执行名为“returnAllLinkTexts()”的 Javascript 函数。下面一行由 Swing 按钮执行。

myscript = browser.executeJavascript("returnAllLinkTexts()").toString(); //Line 407

我偶尔会遇到以下异常。 Java 应用程序不会终止或崩溃。

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException com.demo.Main$BigButtonListener.actionPerformed(Main.java:407)

我已经尝试了以下方法来继续重​​试大约 20 次,但它甚至没有达到这一点。立即引发异常 @ 407。

int st = 0;
while (myscript == null){
myscript = browser.executeJavascript("gogo()").toString(); if (myscript != null) break;
if (shit == 20) break;
sht++;
}

更新:

这是 Javascript 函数 returnAllLinkTexts();

function returnAllLinkTexts(){  
var mydata = new Array();

$('a', document).each(function() {
mydata.push($(this).text());
});

return mydata;
}

最佳答案

我唯一能想到的是为什么 returnAllLinkTexts 被破坏(因此你得到 null)是在加载 jQuery 之前调用它。

如果可能,尝试在页面加载完成后调用 browser.executeJavascript 否则检查是否为 null,正如其他人已经建议的那样,您可以继续尝试调用它(例如使用计时器)直到它不为 null。

编辑:因为您已经将返回值用作字符串,所以您可以返回字符串开头,例如:

return mydata.join(",");

将返回以逗号分隔的链接文本。

关于java - 尝试执行 Javascript 时线程 "AWT-EventQueue-0"java.lang.NullPointerException 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com