Java 无法将web元素中的字符串值转换为双精度
我正在尝试将webelement中的字符串转换为整数 但是,在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澳元之间”); } 否
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());