标识找到的xpath WebElement的对象类型

时间:2015-08-11 12:46:25

标签: java selenium xpath thucydides

我有一个对话框,其中包含几个不同的输入字段和类型,如果字段是

,我想根据输入字段前面的书面名称进行检查
  1. 呈现
  2. 只读
  3. 困难在于我想要检查不同类型的输入:

    1. 输入
    2. textarea的
    3. DIV
    4. 选择
    5. 所以HTML就像:

      <tr>
          <td>Name</td>
          <td><input ...></td>
      </tr>
      <tr>
          <td>Gender</td>
          <td><select ...></td>
      </tr>
      <tr>
          <td>information</td>
          <td><textarea ...></td>
      </tr>
      ...and so on...
      

      我的方法只获取字段前面的名称,是否应该显示和只读:

      public boolean checkIfPresentedAndReadonly(String field, boolean present, boolean readonly){
              boolean result = false;
      
              try{
                  WebElement element = find(By.xpath("//tr[td[@class='c1'][label[text()[contains(.,'"+field+"')]]]]/td[@class='c2']/div/*"));
                  result = (checkForReadOnly(element) == readonly);
              }catch(NoSuchElementException e){
                  return !present;
              }
      
              return result;
          }
      

      我的xpath返回任何类型(可能是div,select,input等)....有没有一种很好的方法来找出WebElement的类型?我想查找类型然后做一些if / else语句来检查状态,具体取决于类型<input>的输入类型我会检查是否可以执行clear()和{{ 1}}然后读取输入,以便我可以确定该元素是可写的。

      或者他们是否有其他可能的解决方案?

0 个答案:

没有答案