Java 无法将web元素中的字符串值转换为双精度

Java 无法将web元素中的字符串值转换为双精度,java,selenium-webdriver,Java,Selenium Webdriver,我正在尝试将webelement中的字符串转换为整数 但是,在parseInt 公共字符串getLoanAmount(){ 返回loanAmount.getText(); int i=Integer.parseInt(driver.findElement(By.id(“00n2800001bbud_ileinner”)).getText(); 双d=i; 如果((d35000)){ System.out.println(“错误:贷款金额不应为空,且应在5000到35000澳元之间”); } 否

我正在尝试将webelement中的字符串转换为整数

但是,在
parseInt

公共字符串getLoanAmount(){
返回loanAmount.getText();
int i=Integer.parseInt(driver.findElement(By.id(“00n2800001bbud_ileinner”)).getText();
双d=i;
如果((d<15000)|(d>35000)){
System.out.println(“错误:贷款金额不应为空,且应在5000到35000澳元之间”);
}
否则{
System.out.println(“贷款金额字段中输入的值在适当范围内”);
}
}

有人能在这个问题上提供帮助吗?首先,这可能吗?实现它的步骤是否正确?

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

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

第一行或您的方法是
return
,这意味着在它运行之后什么都不会发生。解决该问题后,请更改以下行

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


请注意,括号放置在getText()之后,而不是之前。代码中存在一些问题:

第1期

方法的第一行是:

return loanAmount.getText();
方法将返回该行的值。因此,
return
语句下面的任何一行都不会被执行

第二期

Integer.parseInt(String)
需要一个
String
参数。。。不是
WebElement

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

首先,必须从WebElement获取字符串

基于您必须做的:

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());

错误信息很清楚:您正试图将一个字符串转换为整数,但无法完成,很可能是因为该字符串不是数字的表示形式。@TimBiegeleisen从何处获得该信息?谢谢大家的输入。通过在处理if循环之后放置return并在getText()之后更正括号的放置,解决了这个问题
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());