簡體   English   中英

使用Selenium和Java獲取瀏覽器呈現的HTML

[英]Obtaining browser rendered HTML using Selenium and Java

我需要通過編程方式連接到我的LinkedIn帳戶並抓取我的個人資料網頁,以獲得我關注的團體和公司。 我嘗試使用selenium登錄到LinkedIn,並獲取我的個人資料網頁的呈現的html。

但是在包含我要跟蹤的組列表的相應<div>標記(<div id="groups-container">)內,我僅看到用於獲取與組相關的信息的JavaScript。 是否有可能獲得包含組列表的firebug提供的完全呈現的html。

以下Selenium代碼幫助我獲得了我所屬的組的列表。 如果您不想在屏幕上看到自動化(無頭),可以考慮使用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());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM