Javaプロジェクト内のWebサイトからHTMLコードを取得しようとしています。私はこれを行うことができましたが、いくつかの調査を通じて、サイトのクライアント側をロードしないことがわかりました(違いが何であるかは100%わかりません)、Webサイトが追加する可能性のあるJavaScriptコードを実行しないかどうかはわかりません私が探している残りのhtmlコードですが、これが起こっていると思います。どんな助けでも大歓迎です!
編集-ここに私のために働くことになったコードがあります:
public class GetHtml {
public static WebDriver driver = new FirefoxDriver();
public static String get() throws Exception {
//Connect to the website
driver.get("webiste");
// Sleep for 5 seconds so page can load
long end = System.currentTimeMillis() + 5000;
while (System.currentTimeMillis() < end) {
}
//Get userlist
List<WebElement> users=driver.findElements(By.className("userlist"));
String s = "";
for (WebElement w : users) {
s += (w.getText());
}
return s;
}
}
これにより、Firefox Webブラウザーで「Webサイト」が開き、ロードされるのを待ってから、クラス名「userlist」のこのhtml要素を見つけて、現在ユーザーリストにあるすべてのユーザーの名前を含む文字列を返します。
コンテンツがJavaScriptまたは別のリクエストで動的に生成される場合、1つのアプローチは、selenium
ブラウザ自動化フレームワークを使用することです:https://code.google.com/p/selenium/wiki/GettingStarted
ページからすべての要素を取得する簡単な例:
WebDriver driver = new FirefoxDriver();
driver.get("http://www.example.com");
List<WebElement> el = driver.findElements(By.cssSelector("*"));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加