我正在尝试匹配记录的总数,但却无法做到,因为我的一个totalcount列表类型变量很强,另一个是存储在单个整数变量中。
我的代码:
`Base.getdriver().get(Js_constants.DashboardURL);
List<WebElement> totaljobs = Base.getdriver().findElements(By.className(Js_constants.TopsJobsactualtotal));
System.out.println(totaljobs.size()); //OUTPUT 30
//Integer.parseInt(totaljobs); //THIS IS NOT WORKING..WHY?
String Topjobscount = Base.getdriver().findElement(By.xpath(Js_constants.Topsjobscount)).getText();
System.out.println(Topjobscount); //OUTPUT 30
Integer.parseInt(Topjobscount);
//HERE IT IS NOT SUPPORTING CONDITION LIKE THIS.
if(Topjobscount == (totaljobs.size()))
{
System.out.println("Jobs & Count are matching");
Reporter.log("Jobs & Count are matching");
}
else
{
System.out.println("Jobs & Count are matching");
Reporter.log("Jobs & Count are not matching");
}
}`
我正在使用 selenium webdriver&amp;爪哇即可。我想比较两个变量计数,但问题是它不允许我将列表类型变量转换为整数。
答案 0 :(得分:2)
Integer.parseInt(Topjobscount)
varibale是一个字符串,您正在尝试将其与int值进行比较。
调用string
不会将int
转换为Integer.parseInt(Topjobscount)
。您必须将int x = Integer.parseInt(Topjobscount);
if(x == (totaljobs.size()))
返回的值分配给int值然后进行比较。
试试这个。
NumberFormatException
记得抓住<div>
<form action="login" method="post">
<label>Email Id</label>
<input type="text" name="userModelObj.emailId"/>
<label>Password</label>
<input type="password" name="userModelObj.password"/>
<input type="submit" value="Login">
</form>
</div>
答案 1 :(得分:1)
<强>返回:强> 由十进制参数表示的整数值。
<强>抛出:强> NumberFormatException - 如果字符串不包含可解析的整数。
因此,您需要将返回的值保存到Integer变量中并使用该变量。
int count = Integer.parseInt(Topjobscount);
if(count == (totaljobs.size()))
答案 2 :(得分:0)
Java严格来说是一种类型语言。这意味着以下。
您无法向方法提供任何内容,它必须严格地位于同一对象层次结构中。如果尝试提供错误类型的值作为参数,则会导致编译时错误。
E.g。在您的代码List<WebElement> totaljobs
中明确指出对象的类型 totaljobs 是List。
Integer.parseInt()
中的参数类型为 String 的位置。因此,您无法在需要字符串的位置提供List类型的值。
相反,您可以通过将其转换为字符串来传递列表大小,如下所示。
String.valueOf(totaljobs.size());
将返回列表大小的字符串表示。
但是,您可以通过调用Integer.parseInt(String.valueOf(totaljobs.size()));
但是上面没有任何意义,因为List的 size()方法,返回一个整数值。
Topjobscount 是一个String值,如果不将其转换为整数,则无法与int值进行比较。
因此,您可以通过将String转换为整数来更正(Topjobscount == (totaljobs.size()))
。如下所示。
if (Integer.parseInt(Topjobscount) == totaljobs.size())
希望这有帮助。