2015-01-07 1 views
0

Я сейчас борется с Селеном и Сикули. В настоящее время я застрял в точке, где мне нужно принимать значения из Excel и искать их в текстовом поле (текстовое поле находится на веб-странице, которая является защищенным сайтом, то есть элементы html внедряются и не отображаются на странице источника). После того, как я буду искать, я получу результаты, и если результаты появятся, мне нужно будет щелкнуть ссылку еще и выйти и найти следующее значение из excel.Скопируйте текст из excel и вставьте его в текстовое поле и нажмите ссылку после поиска

Может ли кто-нибудь помочь мне с решением. Заранее спасибо

+2

Что вы пробовали до сих пор и что не работает? Не ожидайте, чтобы скопировать значения из excel с помощью Selenium, посмотрите некоторые способы чтения из файла CSV на Java, чтобы начать работу. –

+0

Привет, Стив. Я использую apache-poi для чтения данных из excel. – Angel1403

ответ

0

Лучше для вас проанализировать файл excel, а затем проверить значения.

1

Вы можете использовать Apache POI для чтения значения ячейки из Excel, попробуйте следующее:

Во-первых, если вы используете Maven, добавьте в ваш pom.xml:

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi</artifactId> 
    <version>3.9</version> 
</dependency> 

Затем используйте этот код get string value from excel file:

public static String ReadExcel (String filename) throws InvalidFormatException { 

    File excel = null; 
    FileInputStream file = null; 

    try { 

     excel = new File("D:\\tmp\\" + filename + ".xls"); 
     file = new FileInputStream(excel); 

     Workbook workbook = WorkbookFactory.create(file); 
     Sheet sheet = workbook.getSheetAt(0); 
     Iterator<Row> rowIterator = sheet.iterator(); 

     while (rowIterator.hasNext()) { 

      Row row = rowIterator.next(); 
      Iterator<Cell> cellIterator = row.cellIterator(); 

      while (cellIterator.hasNext()) { 

       cell = cellIterator.next(); 

       if (!cell.getStringCellValue().isEmpty()) { 


        if (cell.getCellType() == Cell.CELL_TYPE_STRING) { 

         // your method to find data on page with param cell.getStringCellValue() 
        } 
       } 
      } 
     } 

    } catch (IOException ioe) { 
     ioe.printStackTrace(); 
    } finally { 

     if (file != null && excel != null) { 

      file.close(); 
      //excel.delete(); 
     } 
    } 

    return null; 
} 

Затем вызовите метод поиска на каждой итерации ячеек, который будет сравнивать значения с тем, что вам нужно на странице.

Надеюсь, это поможет вам.

+0

Или вы можете поместить значения в список , а затем работать со списком. – nemelianov

+0

Спасибо Nikita, но это не сработало. Мне нужно отфильтровать колонку excel на основе другого столбца, а затем вставить те отфильтрованные значения на веб-страницу. – Angel1403