にブラウザのブラウザチャンネルを取得できませんでしたガイド私はbrowser.saveWebpage例外がjxbrowser
public class Downloader{
public Downloader(String url) {
System.setProperty("teamdev.license.info", "true");
LoggerProvider.getChromiumProcessLogger().setLevel(Level.OFF);
Browser browser = new Browser(BrowserType.LIGHTWEIGHT);
browser.addLoadListener(new LoadAdapter() {
@Override
public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()){
String filePath = "D:\\Downloads\\index"+System.currentTimeMillis()+".html";
String dirPath = "D:\\Downloads\\resources";
event.getBrowser().saveWebPage(filePath, dirPath, SavePageType.ONLY_HTML);
}
}
});
browser.loadURL(url);
if(!browser.isLoading())
{
browser.stop());
}
}
public static void main(String args[])
{
JxBrowserDemo jxBrowserDemo=null;
String yourInputFile="D:/file.txt";
ArrayList<String> lines=getUrls(yourInputFile); //read urls from file
for(int i=0; i<lines.size(); i++)
{
Thread.sleep(5000);
jxBrowserDemo=new JxBrowserDemo(lines.get(i));
}
}
}
ページを保存正常に動作を使用したURLのリストをダウンロードしたい、
をjxbrowserを使用して」います特定の時刻までこの例外がスローされる
例外のスレッド"main" java.lang。 java.lang.reflectでのsun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) でsun.reflect.NativeMethodAccessorImpl.invoke(不明なソース) でsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) でreflect.InvocationTargetException com.teamdev.jxbrowser.chromium.internal.ipc.IPCException:によって引き起こさorg.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:58)で.Method.invoke(不明なソース) :失敗しました ブラウザブラウザチャンネル969 com.teamdev.jxbrowser.chromium.Browser.a(SourceFile:376) com.teamdev.jxbrowser.chromium.Browser(S ourceFile:200) com.teamdev.jxbrowser.chromium.Browser(SourceFile:172) at com.teamdev.jxbrowser.chromium.Browser(SourceFile:139) at com.teamdev.jxbrowser.chromium.Browser。 (SOURCEFILE:125)com.teamdev.jxbrowser.chromium.demo.JxBrowserDemo.mainでcom.teamdev.jxbrowser.chromium.demo.JxBrowserDemo(JxBrowserDem o.java:67)で (JxBrowserDemo。 のjava:143) ... 5もっと
任意のヘルプ:)
おかげで、私はすべてで作成されたブラウザを停止するbrowser.stopを追加しました: は、以下のサンプルコードを見てみてください。 – Elsayed
stop()メソッドのドキュメントによると、このメソッドは保留中のナビゲーションまたはダウンロード操作をキャンセルし、背景音やアニメーションなどの動的ページ要素をすべて停止します。 このメソッドはブラウザオブジェクトを処理しません。このメソッドは、ブラウザオブジェクトを破棄するまでメモリに存在します。これによりメモリリークが発生します。 不要になったらブラウザインスタンスを破棄する必要があります。 –
上記のプログラムを適切に実行するには、コードのどの変更を行う必要がありますか? – Elsayed