1
我在尋找一個邏輯/代碼,它將在google.com中輸入文字selenium,並從搜索結果中獲取前10個網址列表,並從該列表中計算哪些網址以www.seleniumhq.org開頭。Selenium Java - 從google搜索獲取網址列表並獲取特定url文本的計數匹配
到目前爲止我的代碼能夠顯示前10個網址列表:
public static WebDriver driver;
public static void main(String[] args) throws InterruptedException {
driver = new FirefoxDriver();
String url = "https://google.com";
driver.get(url);
WebElement find = driver.findElement(By.id("lst-ib"));
find.sendKeys("Selenium");
Thread.sleep(2000);
WebElement click = driver.findElement(By.name("btnG"));
click.click();
Thread.sleep(2000);
List<WebElement> listings = driver.findElements(By.tagName("div").xpath("//cite[@class='_Rm']"));
listings.size();
System.out.println("Fetched URL's are as follows:-");
for (WebElement loop : listings) {
System.out.println(loop.getText());
String filtering=loop.getText();
boolean filtered=filtering.startsWith("www.seleniumhq.org/");
int size1 = filtering.split("www.seleniumhq.org").length-1;
System.out.println(size1);
}
}
任何幫助嗎?
分割用於分隔從提取的url中取出所有的文本「www.seleniumhq.org」,以這樣的方式提供正確的計數,但輸出是增量形式的,因爲它通過for循環迭代,即第一次迭代0,然後是1等。有什麼辦法可以一次性打印計數?比如「整個網址與www.seleniumhq.org一致:3」? –
您可以放置打印/在循環後使用大小。由於我們在這裏維護一個列表,爲了掃描所有循環是必要的。但一旦循環完成,你會得到計數,我想這就是你需要的。 – Prateek
好吧,它有幫助...謝謝! –