Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果动态web元素没有';没有任何价值_Java_Parsing_Selenium Webdriver_Logic - Fatal编程技术网

Java 如果动态web元素没有';没有任何价值

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

我试图从动态web元素中获取数据,经过一些逻辑测试后,我想执行一些操作(取决于if和else块的结果)。如果动态webelemnt没有任何值(即,如果为null或0),我无法确定该怎么办。 在此代码中==>>字符串错误=wb.getText(),当我们有一些错误的值时,它会被打印出来,但当它没有任何值时,它不会打印任何东西,而且它只在第一个周期被打印出来,而在单词之后它不会打印任何东西

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我刚刚更新了答案,以显示如何检查空字符串(“”)。