JxBrowser之一:Java嵌入Chrome浏覽器
1、JxBrowser是一個讓Java可以輕松內建Chrome浏覽器的跨平台庫;一般用于網絡爬蟲或者網頁自動化測試等。
官方網址:https://jxbrowser.support.teamdev.com/support/home
其中使用說明非常詳細:https://jxbrowser.support.teamdev.com/support/solutions
2、嵌入浏覽器代碼
由于隻用于測試,是以在csdn上找到一個可用的版本進行測試:https://download.csdn.net/download/lotus52/10669583
①項目中加入三個庫:
jxbrowser-6.21.jar
jxbrowser-win64-6.21.jar(根據不同系統版本就行選擇)
license.jar
②代碼
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.顯示效果

以上。