Browser Contextimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.BrowserContext;
/**
* The sample demonstrates how to create two Browser instances that will run in one native process and
* share session cookies and cache data. browserOne will access session cookies of browserTwo and vice versa.
*/
public class BrowserContextSample {
public static void main(String[] args) {
BrowserContext context = new BrowserContext();
Browser browserOne = new Browser(context);
Browser browserTwo = new Browser(context);
}
} Browser Featuresimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.InternetFeature;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to configure extended Internet Explorer features.
*/
public class BrowserFeaturesSample {
public static void main(String[] args) {
Browser browser = new Browser();
browser.setInternetFeatureEnabled(InternetFeature.DISABLE_NAVIGATION_SOUNDS, true);
browser.setInternetFeatureEnabled(InternetFeature.RESTRICT_FILEDOWNLOAD, true);
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.navigate("http://www.google.com");
}
} Browser Modeimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.BrowserFeatures;
import com.teamdev.jexplorer.BrowserMode;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to configure MS IE 11 Browser Mode.
*/
public class BrowserModeSample {
public static void main(String[] args) {
// Enables MS IE 11 Browser Mode
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.navigate("http://www.google.com");
}
} Load URLimport com.teamdev.jexplorer.Browser;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to create Browser instance, embed it, load and display some web page.
*/
public class BrowserSample {
public static void main(String[] args) {
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.navigate("http://www.google.com");
}
} Load HTMLimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.event.NavigationAdapter;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to load HTML string.
*/
public class SetContentSample {
public static void main(String[] args) {
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) {
System.out.println("HTML is loaded.");
}
});
browser.setContent("<html><body><h1>Load HTML Sample</h1></body></html>");
}
} Get HTMLimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.event.NavigationAdapter;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to get HTML content of the currently loaded document.
*/
public class GetContentSample {
public static void main(String[] args) {
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) {
System.out.println("html = " + browser.getContent());
}
});
browser.navigate("http://www.google.com");
}
} Cookiesimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.Cookie;
import com.teamdev.jexplorer.event.NavigationAdapter;
import javax.swing.*;
import java.awt.*;
import java.util.List;
/**
* The sample demonstrates how to get all cookies for specified URL.
*/
public class CookieSample {
public static void main(String[] args) {
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) {
List<Cookie> cookies = browser.getCookies("http://www.google.com");
for (Cookie cookie : cookies) {
System.out.println("cookie.getName() = " + cookie.getName());
System.out.println("cookie.getValue() = " + cookie.getValue());
}
}
});
browser.navigate("http://www.google.com");
}
} Dispose Browserimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.event.DisposeListener;
/**
* The sample demonstrates how to dispose Browser instance when you don't need to use it anymore.
*/
public class DisposeBrowserSample {
public static void main(String[] args) {
Browser browser = new Browser();
browser.addDisposeListener(new DisposeListener() {
@Override
public void onDispose(Browser browser) {
// Browser instance was disposed.
}
});
browser.dispose();
}
} JavaScriptimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.JSValue;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to execute JavaScript code on the currently loaded web page.
*/
public class JavaScriptSample {
public static void main(String[] args) {
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.executeScript("document.write('<html><title>My Title</title><body>Hello from JExplorer!</body></html>');");
JSValue returnValue = browser.executeScript("document.title");
if (returnValue.isString()) {
System.out.println("Title = " + returnValue.getString());
}
}
} JavaScript Errorsimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.ScriptErrorEvent;
import com.teamdev.jexplorer.ScriptErrorListener;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to listen to JavaScript errors.
*/
public class JavaScriptErrorListenerSample {
public static void main(String[] args) {
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.addScriptErrorListener(new ScriptErrorListener() {
@Override
public void errorOccured(ScriptErrorEvent event) {
System.out.println("event = " + event);
}
});
browser.executeScript("a.unknown;");
}
} JavaScript Dialogsimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.DialogHandler;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to handle JavaScript dialogs such as Alert or Confirmation.
*/
public class JavaScriptDialogsSample {
public static void main(String[] args) {
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.setDialogHandler(new DialogHandler() {
@Override
public int showDialog(String title, String text, int type) {
System.out.println("title = " + title);
System.out.println("text = " + text);
// Suppress dialog and close it right away without displaying UI
return DialogHandler.IDOK;
}
});
browser.executeScript("alert('test');");
}
} JavaScript Java Bridgeimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.BrowserFunction;
import com.teamdev.jexplorer.JSValue;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to register Java function callback to invoke Java
* code from JavaScript.
*/
public class JavaScriptJavaSample {
public static void main(String[] args) {
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.registerFunction("MyFunction", new BrowserFunction() {
@Override
public Object invoke(Object... args) {
for (Object arg : args) {
System.out.println("arg = " + arg);
}
return "MyString";
}
});
JSValue returnValue = browser.executeScript("MyFunction('abc', 1, true);");
if (returnValue.isString()) {
System.out.println("Function returns string: " + returnValue.getString());
}
}
} Key Filterimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.KeyFilter;
import com.teamdev.jexplorer.KeyFilterEvent;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
/**
* The sample demonstrates how to filter key events to disable Ctrl+A shortcut.
*/
public class KeyFilterSample {
public static void main(String[] args) {
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.setKeyFilter(new KeyFilter() {
@Override
public boolean isFilter(KeyFilterEvent evt) {
// Disable Ctrl+A
return evt.isControlPressed() && evt.getKeyCode() == KeyEvent.VK_A;
}
});
browser.navigate("http://www.teamdev.com");
}
} import com.jniwrapper.win32.ie.Browser;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
/**
* The sample shows how to save the loaded HTML document into an image
* and save it to a file in PNG format. In this sample the full web
* page will be saved as image including invisible parts.
*/
public class HtmlToImageSample {
public static void main(String[] args) throws IOException {
Browser browser = new Browser();
JFrame frame = new JFrame();
frame.getContentPane().add(browser, BorderLayout.CENTER);
frame.setSize(100, 100);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
browser.navigate("http://www.google.com");
browser.waitReady();
Image image = browser.getScreenShot(true);
ImageIO.write((BufferedImage) image, "PNG", new File("C:\\webpage.png"));
}
} Basic, NTLM, Digest Authenticationimport com.teamdev.jexplorer.AuthenticationHandler;
import com.teamdev.jexplorer.Browser;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to handle Basic, NTLM and Digest authentication.
*/
public class AuthenticationSample {
public static void main(String[] args) {
final Browser browser = new Browser();
browser.setAuthenticationHandler(new AuthenticationHandler() {
@Override
public void onAuthenticate() {
}
@Override
public String getUserName() {
return "user";
}
@Override
public String getPassword() {
return "passwd";
}
});
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.navigate("http://httpbin.org/basic-auth/user/passwd");
}
} DOM Documentimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.dom.DOMDocument;
import com.teamdev.jexplorer.event.NavigationAdapter;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to access document of the loaded web page.
*/
public class DOMGetDocumentSample {
public static void main(String[] args) {
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();
String title = document.getTitle();
System.out.println("title = " + title);
}
});
browser.navigate("http://www.google.com");
}
} DOM Elementsimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.dom.DOMDocument;
import com.teamdev.jexplorer.dom.DOMNodeList;
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) {
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++) {
System.out.println("Text Content: " + elements.item(i).getTextContent());
}
}
});
browser.navigate("http://www.google.com");
}
} Printimport com.teamdev.jexplorer.Browser;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* The sample demonstrates how to print currently loaded web page.
*/
public class PrintSample {
public static void main(String[] args) {
final Browser browser = new Browser();
JButton printButton = new JButton("Print...");
printButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
browser.print(true, "My Header", "My Footer");
}
});
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(printButton, BorderLayout.NORTH);
frame.add(browser, BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
browser.navigate("http://www.google.com");
}
} Proxyimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.ConnectionType;
import com.teamdev.jexplorer.ProxyConfiguration;
import com.teamdev.jexplorer.ServerType;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to set proxy settings for Browser instance.
*/
public class ProxySample {
public static void main(String[] args) {
ProxyConfiguration configuration = new ProxyConfiguration();
configuration.setConnectionType(ConnectionType.PROXY);
configuration.setProxy("127.0.0.1:8088", ServerType.HTTP);
configuration.setProxy("127.0.0.1:8088", ServerType.SECURE);
Browser browser = new Browser();
browser.setProxy(configuration);
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.navigate("http://www.google.com");
}
} Popupsimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.PopupContainer;
import com.teamdev.jexplorer.PopupHandler;
import com.teamdev.jexplorer.event.DisposeListener;
import com.teamdev.jexplorer.event.WindowAdapter;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowEvent;
/**
* The sample demonstrates how to register your own popup handler to display popup windows
* in the way you want.
*/
public class PopupSample {
public static void main(String[] args) {
Browser browser = new Browser();
browser.setPopupHandler(new PopupHandler() {
@Override
public PopupContainer handlePopup() {
return new PopupContainer() {
@Override
public void insertBrowser(final Browser browser) {
final JFrame frame = new JFrame();
frame.getContentPane().add(browser, BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
browser.dispose();
}
});
browser.addDisposeListener(new DisposeListener() {
@Override
public void onDispose(Browser browser) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
frame.setVisible(false);
frame.dispose();
}
});
}
});
browser.addWindowListener(new WindowAdapter() {
@Override
public void onSetLeft(int left) {
Rectangle bounds = frame.getBounds();
bounds.x = left;
frame.setBounds(bounds);
}
@Override
public void onSetTop(int top) {
Rectangle bounds = frame.getBounds();
bounds.y = top;
frame.setBounds(bounds);
}
@Override
public void onSetWidth(int width) {
Rectangle bounds = frame.getBounds();
bounds.width = width;
frame.setBounds(bounds);
}
@Override
public void onSetHeight(int height) {
Rectangle bounds = frame.getBounds();
bounds.height = height;
frame.setBounds(bounds);
}
@Override
public void onResizable(boolean resizable) {
frame.setResizable(resizable);
}
});
}
};
}
});
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.navigate("http://www.popuptest.com");
}
} User-Agentimport com.teamdev.jexplorer.Browser;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to override default user-agent string.
*/
public class UserAgentSample {
public static void main(String[] args) {
Browser browser = new Browser();
browser.setUserAgent("MyUserAgent");
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.navigate("http://whatsmyuseragent.com/");
}
} Status Text Change Eventsimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.event.StatusAdapter;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to get status text change events.
*/
public class StatusEventsSample {
public static void main(String[] args) {
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.addStatusListener(new StatusAdapter() {
@Override
public void statusTextChanged(String text) {
System.out.println("Status Text = " + text);
}
});
browser.navigate("http://www.google.com");
}
} Handling HTTPS Security Problemsimport com.teamdev.jexplorer.Browser;
import com.teamdev.jexplorer.HttpSecurityHandler;
import com.teamdev.jexplorer.SecurityProblem;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to handle HTTPS security issues such as invalid SSL certificate.
*/
public class SecurityProblemSample {
public static void main(String[] args) {
Browser browser = new Browser();
browser.setHttpSecurityHandler(new HttpSecurityHandler() {
@Override
public HttpSecurityAction onSecurityProblem(SecurityProblem problem) {
if (problem.isInvalidCertificate()) {
return HttpSecurityAction.CONTINUE;
}
return HttpSecurityAction.DEFAULT;
}
});
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.navigate("https://tv.eurosport.ru/");
}
} |
|