使用selenium Java将表打印到控制台

时间:2016-11-26 15:18:32

标签: java selenium web-scraping

我正在尝试从此网站打印表格数据

http://www.lufthansa.com/online/portal/lh/il/homepage

尝试制作一本书,然后您将看到可用性 这是我的代码:

From this html code I want to print the branded-fares-flights table

String from_to = driver.findElement(By.cssSelector("table.branded-fares-flights")).getText();
        System.out.println(from_to);

它不起作用。它告诉我没有这样的元素。

1 个答案:

答案 0 :(得分:0)

根据您的代码,您似乎只使用cssSelector(driver.findElement)识别了表元素,然后尝试打印其所有内容,它不会起作用。你已经从表格到tr / td,然后打印文本。此外,在您的情况下,将返回多个元素,因此您可以使用 driver.findElements 而不是driver.findElement。尝试使用以下代码,您可能需要根据您的要求进行一点修改。

// Get all the table row elements from the table 
List<WebElement> allRows = driver.findElements(By.xpath("//table[@class='branded-fares-flights']//tr")); 

// And iterate over them and get all the cells 
for (WebElement row : allRows) { 
    List<WebElement> cells = row.findElements(By.tagName("td")); 

    // Print the contents of each cell
    for (WebElement cell : cells) {         

    System.out.println(cell.getText());
    //Or try below code 
    //System.out.println(cell.getAttribute("innerHTML"));
}