2017-01-24 6 views
0

Mein Code besteht darin, eine Liste von Titeln in Excel zu drucken, die die Webelement-Liste verwenden. Es wird jedoch nur eine der zuletzt ausgedruckten Daten gedruckt. bitte hilfe.Drucken nur eines Elements aus der Webelement-Liste in Excel

  driver.get("http://www.speakingcs.com/"); 
       Sheet sh; 
      List<WebElement> postTitles = driver.findElements(By.className("entry-header")); 
     for (WebElement eachTitle:postTitles) 
     { 
      System.out.println(eachTitle.getText()); 
       File object = new File("D:/selenium/data.xlsx"); 
        FileInputStream fis=new FileInputStream(object); 
        wb=WorkbookFactory.create(fis); 
        sh=wb.getSheet("Sheet1"); 
        Row row=null; 
        if(sh.getRow(0) != null) { 
          row = sh.getRow(0);} 
         else { 
          row = sh.createRow(0); 
         } 

         Cell cell=row.createCell(0); 
        cell.setCellType(cell.CELL_TYPE_STRING);     
        cell.setCellValue(eachTitle.getText()); 

      for(int m=1; m<6; m++) 

     sh.autoSizeColumn(m); 
      } 
         FileOutputStream fos=new  FileOutputStream("D:/selenium/data.xlsx"); 
         wb.write(fos); 
         fos.close(); 
         System.out.println("test1"); 

      }catch (Exception e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
          } 

this is printing only last title whereas 5 are there. 

kein Fehler ist dort.try Fang ist hinzugefügt.

Antwort

0

Sieht so aus, als ob Sie Ihre Excel-Tabelle für jede WebElement, die Sie verarbeiten, überschreiben und immer die erste Zeile in dieser Tabelle überschreiben, anstatt eine neue Zeile zu erstellen. Versuchen Sie, eine neue Zeile für jedes Element zu erstellen, wie folgt:

wb = WorkbookFactory.create(fis); 
sh = wb.getSheet("Sheet1"); 

List<WebElement> postTitles = driver.findElements(By.className("entry-header")); 
for (int index = 0; index <= postTitles.size(); index++) { 
    WebElement eachTitle = postTitles.get(index); 

    Row row = null; 
    if (sh.getRow(index) != null) { 
     row = sh.getRow(index); 
    } else { 
     row = sh.createRow(index); 
    } 
    ... 
} 
+0

Vielen Dank sehr – sr1233

Verwandte Themen