无法将字符串值从Web元素转换为double

时间:2016-06-08 01:51:42

标签: java selenium-webdriver

我正在尝试将字符串从webelement转换为整数。

但是,我在parseInt

中遇到以下错误

enter image description here

public String getLoanAmount() {
    return loanAmount.getText();
    int i = Integer.parseInt(driver.findElement(By.id("00N28000001bbuD_ileinner"))).getText();
    double d = i;
    if ((d < 15000) || (d > 35000)) {
        System.out.println("Error: Loan Amount should not be NULL and should be between 5000 to 35000 AUD.");
    }
    else {
        System.out.println("Entered value in the Loan Amount field is within appropriate range.");
    }
}

有人可以协助解决这个问题吗?首先是这可能吗?实现它的步骤是否正确?

3 个答案:

答案 0 :(得分:1)

您只能将String作为该解析方法的参数。我假设.getText()得到一个字符串,如果是这样,你的括号错了。试试这个。注意括号的位置。

int i = Integer.parseInt(driver.findElement(By.id("00N28000001bbuD_ileinner")).getText());

答案 1 :(得分:1)

第一行或你的方法是return,这意味着什么都没有运行。一旦你解决了这个改变了以下的行

int i = Integer.parseInt(driver.findElement(By.id("00N28000001bbuD_ileinner"))).getText();

int i = Integer.parseInt(driver.findElement(By.id("00N28000001bbuD_ileinner")).getText());

注意括号位置在getText()之后而不是之前

答案 2 :(得分:1)

您的代码存在一些问题:

第1期

方法getLoanAmount()的第一行是:

return loanAmount.getText();

Method将返回该行的值。因此,return语句下面的任何一行都不会被执行。

第2期

Integer.parseInt(String)期待String参数...不是WebElement

因此,您无法直接将WebElement传递给Integer.parseInt(String)

首先,您必须从WebElement获取String。

根据THIS ASNWER,你必须这样做:

WebElement webElem = driver.findElement(By.id("00N28000001bbuD_ileinner"));
int i = Integer.parseInt(webElem.getAttribute("value"));

WebElement webElem = driver.findElement(By.id("00N28000001bbuD_ileinner"));
int i = Integer.parseInt(webElem.getText());