我正在尝试从cricinfo网站上收集数据,并编写了一种方法,该方法可以接受玩家姓名并显示其相应数据。
如果看到此方法,则使用一个玩家名称并显示其所有数据。
我的要求是显示所有球员的完整记分卡,而不是仅显示一名球员的数据。
public static void displayData(WebDriver driver, String input)
{
WebElement player = driver.findElement(By.xpath("//a[contains(text(),'"+input+"')]"));
String player_name = player.getText();
WebElement bowled_by = driver.findElement(By.xpath("//a[contains(text(),'"+input+"')]//parent::div//following-sibling::div[@class='cell commentary']"));
String bowled_by_detail = bowled_by.getText();
List<WebElement> score_card = driver.findElements(By.xpath("//a[contains(text(),'"+input+"')]//parent::div//following-sibling::div[@class='cell runs']"));
System.out.println(player_name);
System.out.println(bowled_by_detail);
for(int i=0;i<score_card.size();i++)
{
String values = score_card.get(i).getText();
System.out.print(values + " | ");
}System.out.println();
}
displayData(驱动程序,“ HM Amla”);
HM Amla c沙玛·布姆拉 6 | 9 | 16 | 1 | 0 | 66.66 |
答案 0 :(得分:0)
就像python中的BeautifulSoup一样,您可以使用 Jsoup 与Java进行网络抓取,这非常快,您可以根据需要使用CSS选择器来检索数据。
我们需要使用具有数据的硒来遍历元素块,然后将externalhtml传递给jsoup进行进一步的数据刮取。