ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
JxBrowser API允许接受通过console.log() JavaScript函数发送到Web控制台的所有输出消息。你可以接受到不同层次的JavaScript的Web控制台消息:DEBUG, LOG, WARNING and ERROR。要开始接收Web控制台消息,必须为指定的Browser 实例注册ConsoleListener 。例如: ``` browser.addConsoleListener(new ConsoleListener() { public void onMessage(ConsoleEvent event) { System.out.println("Message: " + event.getMessage()); } }); ``` 现在,如果加载的网页打印消息,通过Web控制台JavaScript代码 的console.log() ,console.error() , console.info() , 或console.warn() 函数,那么 ConsoleListener.onMessage()方法将被调用。 ``` import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.events.ConsoleEvent; import com.teamdev.jxbrowser.chromium.events.ConsoleListener; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import javax.swing.*; import java.awt.*; /** * The sample demonstrates how to listen to console messages including * JavaScript errors. */ public class ConsoleListenerSample { public static void main(String[] args) { Browser browser = new Browser(); BrowserView browserView = new BrowserView(browser); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(browserView, BorderLayout.CENTER); frame.setSize(700, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); browser.addConsoleListener(new ConsoleListener() { public void onMessage(ConsoleEvent event) { System.out.println("Level: " + event.getLevel()); System.out.println("Message: " + event.getMessage()); } }); browser.executeJavaScript("console.error(\"Error message\");"); } } ```