我要标识此元素“带有文本响应的问题”,它没有唯一的ID,类或属性。
我已经试过了:
@FindBy(css = "body") 谁能帮我找到这个吗?
这是HTML:
<tr valign="top" xpath="1">
<td width="80%">
<div id="div-4fd242f670a4bc4e0170beb543d72c66" class="wordwrap" style="padding-left:20px;padding-top:3px;">
<label for="name" class="portlet-form-field-label">
2.
Question With Text Response<span style="color:red;">*</span>
</label>
<br>
<textarea id="4fd242f670a4bc4e0170beb543d72c66" name="answers[4fd242f670a4bc4e0170beb543d72c66]" class="portlet-form-input-field answers[4fd242f670a4bc4e0170beb543d72c66] comment" style="width:90%;" onkeydown="return imposeMaxLength(event, this, 3999);" onblur="return imposeMaxLength(event, this, 3999);" rows="7"></textarea>
</div>
</td>
</tr>
问题来源:Stack Overflow
根据您的HTML结构,label和textarea是同级标记,因此要根据标签文本定位文本区域,
在xpath下使用:
@FindBy(xpath = "//label[contains(.,'Question With Text Response')]/following::textarea")
说明:
//label[contains(.,'Question With Text Response')] -查找包含文本“带有文本响应的问题”的标签
/following::textarea或/following-sibling::textarea-找到标签后面的文本
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。