我有一个包含几个不同输入字段和类型的对话框,如果该字段是,我想根据输入字段前面的书面名称进行检查
- 提出了
- 只读
困难在于我要检查不同类型的输入:
- 输入
- 文本区域
- div
- 选择
所以 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>
来检查状态,具体取决于输入类型,例如 for 类型元素是可写的。clear()
sendKeys("..")
还是他们有任何其他可能的解决方案?