次のセレンコードは、私が参加しているグループのリストを取得するのに役立ちました。スクリーン上のオートメーション(ヘッドレス)を見たくない場合は、HTMLUnitDriver
を使用することを検討することができます。
WebDriver driver = new FirefoxDriver();
driver.get("https://www.linkedin.com");
// login
driver.findElement(By.id("login-email")).sendKeys("");
driver.findElement(By.id("login-password")).sendKeys("");
driver.findElement(By.name("submit")).click();
Thread.sleep(3000);
// navigate to Groups
Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(By.id("nav-link-interests"))).build().perform();
Thread.sleep(2000);
actions.moveToElement(driver.findElement(By.xpath("//ul[@id='interests-sub-nav']//a[contains(.,'Groups')]")))
.click().build().perform();
Thread.sleep(10000);
// navigate to mygroups
driver.findElement(By.linkText("My Groups")).click();
Thread.sleep(10000);
// Get all groups I am part of
for (WebElement groupNameElement : driver.findElements(By.xpath(
"//h3[contains(.,'GROUPS THAT I')][contains(.,'M IN')]/following-sibling::ul//a[@class='js-entity-name entity-name']"))) {
System.out.println(groupNameElement.getText());
}
あなたはあなたが探しているのですか?ページの 'ソースコード'を得ることができますか? – Paras
私は実際にレンダリングされたhtmlコンテンツを望んでいます。たとえば、データがスクリプトによって特定のdivにロードされた場合、スクリプトコンテンツではなく、div内にロードされたデータが必要です。 – user2475467
もちろん、まともなJSをサポートするブラウザが必要です(この問題ではhtmlunitが問題になりません)。一方、linkedinにはそのようなものに使用できるAPIがあります。おそらくあなたが望むものがあれば、それをチェックしたいかもしれません。 https://developer.linkedin.com/docsブラウザーでリクエストを調べることもできます。ダイレクトリクエストは、セレンのタイミング問題を扱うより常に信頼性が高くなります。 – skandigraun