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.显示效果

 

以上。

 

posted @ 2018-11-27 20:51  pcwen.top  阅读(17697)  评论(0编辑  收藏  举报
pcwen.top