2016-11-26 25 views
-2

我试图从本网站打印表格的数据打印表进行硒的Java

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); 

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

+0

请说明您的具体问题或添加额外的细节,以确切地突出你所需要的。正如目前所写,很难确切地说出你在问什么。请参阅[问]页面以获得澄清此问题的帮助。 – JeffC

+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")); 
} 
+0

你试过这个,它的工作? WebElement table = driver.findElement(By.cssSelector(“table.branded-fares-flights”)); –

+0

要尝试,我必须先写预订票证的代码,然后只能检查我是否能够获取表格的内容。但是上面的代码应该适用于你的情况。我编辑了上面的代码,使用x-path来标识行的集合,试一次。 –