我现在一直在与Selenium和Sikuli挣扎。 目前我陷入了必须从Excel中获取值并在文本框中搜索它的位置(文本框位于网页上,这是一个安全的网站,即html元素是嵌入的,在页面源上是不可见的)。 在我搜索之后,我将得到结果,如果结果出现,我将不得不点击链接,否则退出并从excel搜索下一个值。
任何人都可以帮我解决问题。 提前致谢
答案 0 :(得分:1)
您可以使用Apache POI从excel读取单元格值,请尝试以下操作:
首先,如果您使用maven,请将其添加到您的pom.xml:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
然后使用此代码从excel文件中获取字符串值:
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;
}
然后在每个单元格迭代上调用搜索方法,该方法将值与页面上所需的值进行比较。
希望,这会对你有帮助。
答案 1 :(得分:0)
您可以更好地解析excel文件,然后验证值。