如果动态Web元素没有任何值,则分配什么值

时间:2014-10-01 14:48:39

标签: java parsing selenium-webdriver logic

我正在尝试从动态Web元素获取数据,并且经过一些逻辑测试后我想做一些操作(取决于if和else块的结果)。如果动态webelemnt没有任何值,即如果它的null或0,我无法弄清楚该做什么。 在此代码中==>> String error = 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的值,而在单词后我只得到错误值。 我在逻辑上做错了吗?

1 个答案:

答案 0 :(得分:1)

if(!error.equals(null))应该是 if(error!= null)

如果您还想检查错误字符串是否为空,则条件应为:

if(error!=null && !error.isEmpty())

注意:还要确保 wb 本身不为空

if( wb!=null ) 
  {// your logic 
  } 
else 
  {// Logic when it's null
  }