2016-09-20 1 views
2

Я пытаюсь выполнить вычисление, а затем ввести результат в поле, используя Selenium Web Driver. Но я получаю ошибку «Метод SendKeys (CharSequence ...) в типе WebElement не применяется для аргументов (двойной)»Что использовать вместо sendkey в селене при вводе двойного значения

Ниже мой код:

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class ProjectOne { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     WebDriver driver = new FirefoxDriver(); 
     driver.get("http://www.techno-geek.co.uk/SeleniumPractice/webform1.html"); 
     driver.manage().window().maximize(); 

     driver.findElement(By.xpath(".//*[@id='continue']")).click(); 


     driver.findElement(By.xpath("//input[@id='COB']")).sendKeys("Toronto"); 
     driver.findElement(By.xpath(".//*[@id='DOB']")).sendKeys("19th January 1986"); 
     driver.findElement(By.xpath("//input[@id='color']")).sendKeys("Cream"); 
     driver.findElement(By.xpath("//input[@id='food']")).sendKeys("Pizza"); 


     double a = 14.867; 
     double b = 67.902; 
     double c = 22567.325; 
     double d = 76.908; 
     double r1 = a * b; 
     double r2 = c/d; 


     driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
     driver.findElement(By.id("multiply")).sendKeys(r1);//1009.49903 


     driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS); 
     driver.findElement(By.id("divide")).sendKeys(r2);//293.432738 


    } 


    } 

ответ

0

Мы должны использовать SendKeys (String.valueOf (doublevalue) вместо SendKeys (значение). код ниже работал для меня

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
     driver.findElement(By.id("multiply")).sendKeys(String.valueOf(r1));//1009.49903 


     driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS); 
     driver.findElement(By.id("divide")).sendKeys(String.valueOf(r2));//293.432738 
2

Вы должны преобразовать в формат строки, используя String.valueOf(doublevalue), который работает мне

Смежные вопросы