WebElement类型中的方法sendKeys(CharSequence ...)不适用于参数(double)

时间:2016-05-05 10:21:06

标签: java selenium

我已经为excel文件中的读取输入数据编写了一个脚本,但是在使用getNumericCellValue的sendkeys中给出了错误。 请帮忙。 这是我的代码

FileInputStream file = new FileInputStream(new File ("C:\\Documents and Settings\\Deepa\\Desktop\\AMC test cases.xls")); 
 HSSFWorkbook workbook = new HSSFWorkbook(file);
 HSSFSheet sheet = workbook.getSheet("Clinic Basic info");
 WebElement creat_new_website = driver.findElement(By.className("createnew"));
 creat_new_website.click();
 driver.findElement(By.id("cname")).sendKeys(sheet.getRow(2).getCell(4).getStringCellValue());
 //driver.findElement(By.xpath("/html/body/div[4]/div[4]/div[12]/form/div/div[1]/div[3]/div[2]/div/button")).click();
 //driver.findElement(By.xpath("/html/body/div[4]/div[4]/div[12]/form/div/div[1]/div[3]/div[2]/div/ul/li[7]/a")).click();
 driver.findElement(By.id("caddress")).sendKeys(sheet.getRow(4).getCell(4).getStringCellValue());
 driver.findElement(By.id("clocality")).sendKeys(sheet.getRow(5).getCell(4).getStringCellValue());
 driver.findElement(By.id("ccity")).sendKeys(sheet.getRow(6).getCell(4).getStringCellValue());
 driver.findElement(By.id("cstate")).sendKeys(sheet.getRow(7).getCell(4).getStringCellValue());
 driver.findElement(By.id("cpincode")).sendKeys(sheet.getRow(8).getCell(4).getNumericCellValue());
 driver.findElement(By.id("ccountry")).sendKeys(sheet.getRow(9).getCell(4).getStringCellValue());
 driver.findElement(By.id("curl")).sendKeys(sheet.getRow(10).getCell(4).getStringCellValue());

3 个答案:

答案 0 :(得分:0)

尝试

x.sendKeys(String.valueOf(someNumber))

答案 1 :(得分:0)

正如提供的错误消息所示,sendKeys()收到String作为参数。要发送double,您需要将其转换为String。最简单的方法是添加toString

 driver.findElement(By.id("cpincode")).sendKeys(sheet.getRow(8).getCell(4).getNumericCellValue().toString());

或使用String.valueOf

driver.findElement(By.id("cpincode")).sendKeys(String.valueOf(sheet.getRow(8).getCell(4).getNumericCellValue()));

答案 2 :(得分:0)

最简单的方法是将完整的excel表格列和行格式设为字符串