私は特にこのウェブサイトからすべての画像を取得しようとしています:http://web.archive.org/web/20160110012916/http://habibemaia.com/。私はすべての "src"タグを集めてそこからダウンロードすることでほぼすべてを得ることができますが、タイミングやクリックイベントのいずれかでjavascriptによって変更されるメイン画像に問題があります。私は、私が使用して、このようにクリックしてくださいDIVなった後divのclick()はJavaScriptをトリガーしません
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.waitForBackgroundJavaScript(15000);
webClient.waitForBackgroundJavaScriptStartingBefore(5000);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getOptions().setUseInsecureSSL(true);
:私はこのように私のWebクライアントを設定
HtmlPage newPage = div.click();
DomNodeList<DomElement> newImages = newPage.getElementsByTagName("img");
for (DomElement img : newImages) {
if (img.hasAttribute("src")) {
newImagesStrings.add(img.getAttribute("src"));
System.out.println("Image added: "+img.getAttribute("src"));
}
}
私は、これはブラウザをint DIVをクリックした場合に、新しい画像が表示されます。残念ながら、このコードは画像を変更するjavascriptを起動しません。私は使用を試みました
webClient.waitForBackgroundJavaScript(3000);
クリック()後、他のところで示唆されているように、運はありません。ページは変更されません。今、私は完全にアイデアがありません。手伝ってくれてありがとう。
あなたは正しいです、それはそれを解決しました。他のヒントもありがとう! – Johnny
ええと、私はChromeのデバッグでイメージリンクを見ることができますが、getPage()を実行すると、最初のイメージのみが存在し、他のdivは空です。 – Johnny
他のdivにdisplay:noneスタイルが設定されている可能性がありますか?私はクラスやIDではなく、一般的にすべてのdivを収集してこれらのdivを取得したいと思います。私は問題があるかもしれない2.20バージョンを使用していますか? – Johnny