Java 如果动态web元素没有';没有任何价值
我试图从动态web元素中获取数据,经过一些逻辑测试后,我想执行一些操作(取决于if和else块的结果)。如果动态webelemnt没有任何值(即,如果为null或0),我无法确定该怎么办。 在此代码中==>>字符串错误=wb.getText(),当我们有一些错误的值时,它会被打印出来,但当它没有任何值时,它不会打印任何东西,而且它只在第一个周期被打印出来,而在单词之后它不会打印任何东西Java 如果动态web元素没有';没有任何价值,java,parsing,selenium-webdriver,logic,Java,Parsing,Selenium Webdriver,Logic,我试图从动态web元素中获取数据,经过一些逻辑测试后,我想执行一些操作(取决于if和else块的结果)。如果动态webelemnt没有任何值(即,如果为null或0),我无法确定该怎么办。 在此代码中==>>字符串错误=wb.getText(),当我们有一些错误的值时,它会被打印出来,但当它没有任何值时,它不会打印任何东西,而且它只在第一个周期被打印出来,而在单词之后它不会打印任何东西 Code- int i=1; int j=1; whi
Code-
int i=1;
int j=1;
while(i==1){
String error = wb.getText();
if(! error.equals(null)){
k0 = Integer.parseInt(error);
}//if for massage
else if(error.equals(null)){
k0 =0;
}//else if
int expected =16;
if(expected==k0){
Thread.sleep(4000);
System.out.println("Readable Massage = "+error +"k0 = "+k0);
}else{
driver.navigate().refresh();
new Play_Music_Using_MouseLocation().play_music_using_mouse_location();
i++;
}//else
//Counting number of runs
System.out.println("Number of run = " + j);
j++;
}//while
Output at the console --
Readable Massage = 16 k0 = 16
Number of run = 1
Readable Massage = 16
Number of run = 2
Readable Massage = 16
Number of run = 3
Readable Massage = 16
Number of run = 4
Readable Massage = 16
Number of run = 5
Readable Massage = 16
Number of run = 6
正如您可以从输出中看到的,仅在第一次运行时对其进行解析之后,它才打印k0的值,而在单词之后,我只得到error的值。
我是否在逻辑中出错?如果(!error.equals(null))应该是如果(error!=null)
如果还要检查错误字符串是否为空,则条件应为:
if(error!=null && !error.isEmpty())
注意:还要确保wb本身不为空
if( wb!=null )
{// your logic
}
else
{// Logic when it's null
}
@山塔努你说它不工作是什么意思?这就是检查字符串(或任何其他对象)是否为null的方法。我尝试了if(!error.equals(null))和if(!error.equals(“”))但没有得到结果。您确定我们可以使用if(error!=null)吗?因为我正在尝试比较两者strings@Shantanunull它不是一个字符串!两个比较两个字符串,您将使用等于,但不检查它是否为空!如果您还想检查空字符串,那么条件是:If(error!=null&&!error.isEmpty())谢谢您的帮助(+1)@Shantanu我刚刚更新了答案,以显示如何检查空字符串(“”)。