硒的工作例項
現在我們已經瞭解了 Selenium 的基礎知識,我們可以建立自己的專案。對於這個例子,我們將製作一個程式,它找到關於堆疊溢位的最新問題。
我們開始輕鬆,讓我們開啟堆疊溢位。
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "path of the exe file\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https:stackoverflow.com");
Thread.sleep(3000);
driver.quit();
}
現在,如果你檢視頁面的來源,你會發現所有問題都是 a
標籤,其 className 為 question-hyperlink
。但是,由於存在多個問題,我們使用 List
的 WebElement
而不是 WebElement
。因此,我們可以做到
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "path to chromedriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https:stackoverflow.com");
List<WebElement> list = driver.findElements(By.className("question-hyperlink"));
}
現在,我們需要獲取 a
標籤的 href
屬性,該標籤具有問題的連結。要做到這一點,我們可以在每個 WebElement
上使用 getAttribute("href")
,就像
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "path to chromedriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https:stackoverflow.com");
List<WebElement> list = driver.findElements(By.className("question-hyperlink"));
System.out.println(list.size());
list.forEach(e->System.out.println(e.getAttribute("href")));
driver.quit();
}
這列印出 Stack-overflow 上的熱門問題的連結。