使用selenium web驱动程序访问excel文件中的链接

时间:2013-03-23 19:33:44

标签: java eclipse selenium webdriver

我有一个Excel文件,其中所有链接都存储在一个列中。每行一个链接。例如:

www.example.com
www.test.com
www.demo.com

等等。我想要做的是访问每个链接并在Firefox中打开它。获取地址栏中的链接,并将其与excel单元格中的链接进行比较。如果两者相同,则在下一个单元格中设置字符串“Pass”,否则设置字符串“Fail”。我该怎么做呢。你能给我一个示例代码吗?我正在使用selenium web驱动程序和java。

以下是我的尝试:

try {
    FileInputStream file=new FileInputStream(new File(path));
    FileOutputStream outFile=new FileOutputStream(new File(path));
    HSSFWorkbook workbook=new HSSFWorkbook(file);
    HSSFSheet sheet=workbook.getSheetAt(0);
    HSSFCell cell=null;     
    int s=sheet.getLastRowNum()+1;
    for(int i=0; i<s; i++){
        cell=sheet.getRow(i).getCell(0);
        String url=cell.toString();
        driver.get(url);
        Thread.sleep(10000);
        String urlnew=driver.getCurrentUrl().toString();
        HSSFRow row=sheet.getRow(i);
        HSSFCell cellresult=row.createCell(1);
        if(url==urlnew){
            cellresult.setCellValue("Pass");
        }else{
            cellresult.setCellValue("fail");
        }
        workbook.write(outFile);
    }    
    file.close();  
    outFile.close();
} 

2 个答案:

答案 0 :(得分:0)

  1. driver = webdriver.Firefox();
  2. 加载Excel文件(您可以使用this
  3. 在行循环中,添加以下代码:driver.get(&lt; cell URL&gt;);

答案 1 :(得分:0)

在您的代码中,您使用以下语句来比较两个字符串。

if(url==urlnew)

使用以下代码。它会起作用。

if(url.equals(urlnew))

有关字符串比较的更多信息,请查看this链接。