JxBrowser之一:Java嵌入Chrome浏览器

一、JxBrowser是一个让Java能够轻松集成Chrome浏览器的跨平台库;通常用于网络爬虫或者网页自动化测试等。java

官方网址:https://jxbrowser.support.teamdev.com/support/home浏览器

其中使用说明很是详细:https://jxbrowser.support.teamdev.com/support/solutions网络

 

二、嵌入浏览器代码测试

因为只用于测试,因此在csdn上找到一个可用的版本进行测试:https://download.csdn.net/download/lotus52/10669583spa

①项目中加入三个库:.net

jxbrowser-6.21.jarcode

jxbrowser-win64-6.21.jar(根据不一样系统版本就行选择)blog

license.jarget

 

②代码自动化

import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.ba; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import javax.swing.*; import java.awt.*; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigInteger; public class JxBrowserTest { //请使用正版受权
    static { try { Field e = ba.class.getDeclaredField("e"); e.setAccessible(true); Field f = ba.class.getDeclaredField("f"); f.setAccessible(true); Field modifersField = Field.class.getDeclaredField("modifiers"); modifersField.setAccessible(true); modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL); modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL); e.set(null, new BigInteger("1")); f.set(null, new BigInteger("1")); modifersField.setAccessible(false); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame("JxBrowser"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(view, BorderLayout.CENTER); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setLocationRelativeTo(null); frame.setVisible(true); browser.loadURL("https://www.baidu.com/"); } }

 

3.显示效果

 

以上。

相关文章
相关标签/搜索