Internet explorer java中Internet Explorer的无头浏览器

Internet explorer java中Internet Explorer的无头浏览器,internet-explorer,selenium,htmlunit,headless-browser,Internet Explorer,Selenium,Htmlunit,Headless Browser,一个只能支持IE的应用程序,我必须对它进行屏幕抓取。我试过使用htmlUnit和selenium htmlUnit驱动程序,但效果并不理想。我想知道,在java中是否有适用于IE浏览器的无头浏览器api。请告诉我。您可以查看Java库,该库允许将MS IE web浏览器控件嵌入Java AWT/Swing应用程序,并直接从Java代码使用MS IE功能 例如: import com.teamdev.jexplorer.Browser; import com.teamdev.jexplorer.B

一个只能支持IE的应用程序,我必须对它进行屏幕抓取。我试过使用htmlUnit和selenium htmlUnit驱动程序,但效果并不理想。我想知道,在java中是否有适用于IE浏览器的无头浏览器api。请告诉我。

您可以查看Java库,该库允许将MS IE web浏览器控件嵌入Java AWT/Swing应用程序,并直接从Java代码使用MS IE功能

例如:

import com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.BrowserFeatures;
import com.teamdev.jexplorer.BrowserMode;
import com.teamdev.jexplorer.dom.*;
import com.teamdev.jexplorer.event.NavigationAdapter;

import javax.swing.*;
import java.awt.*;

/**
 * The sample demonstrates how to get all elements with tag A and 
 * print their text content.
 */
public class DOMGetElementsSample {
    public static void main(String[] args) {
        BrowserFeatures.enableBrowserMode(BrowserMode.IE11);
        Browser browser = new Browser();

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(browser, BorderLayout.CENTER);
        frame.setSize(800, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        browser.addNavigationListener(new NavigationAdapter() {
            @Override
            public void mainDocumentCompleted(Browser browser, String url) {
                DOMDocument document = browser.getDocument();
                DOMNodeList elements = document.getElementsByTagName("a");
                int length = elements.getLength();
                for (int i = 0; i < length; i++) {
                    DOMNode domNode = elements.item(i);
                    if (domNode instanceof DOMElement) {
                        DOMElement element = (DOMElement) domNode;
                        System.out.println("Text Content: " + 
                                element.getTextContent());
                    }
                }
            }
        });
        browser.navigate("http://www.google.com");
    }
}
导入com.teamdev.jexplorer.Browser;
导入com.teamdev.jexplorer.BrowserFeatures;
导入com.teamdev.jexplorer.BrowserMode;
导入com.teamdev.jexplorer.dom.*;
导入com.teamdev.jexplorer.event.NavigationAdapter;
导入javax.swing.*;
导入java.awt.*;
/**
*该示例演示如何获取带有标记A和的所有元素
*打印他们的文本内容。
*/
公共类DOMGetElementsSample{
公共静态void main(字符串[]args){
BrowserFeatures.enableBrowserMode(BrowserMode.IE11);
浏览器=新浏览器();
JFrame=新JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(浏览器,BorderLayout.CENTER);
框架设置尺寸(800600);
frame.setLocationRelativeTo(空);
frame.setVisible(true);
addNavigationListener(新的NavigationAdapter(){
@凌驾
公共void main文档已完成(浏览器、字符串url){
DOMDocument document=browser.getDocument();
DOMNodeList elements=document.getElementsByTagName(“a”);
int length=elements.getLength();
for(int i=0;i
Vladimir我对JExplorer一无所知,所以我有一个问题。JExplorer是否提供了一个API,允许调用页面、填写表单、单击链接等进行浏览器测试。是的,您可以加载网页,等待它完全加载,在网页上查找所需的HTML元素,修改HTML元素,单击它,等等。