Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我正在为Java applicaton写一个硒测试,该硒测试会在每次登录会话后创建新的id,因此我找不到使用ID的元素。
如何在不使用ID的情况下在xpath中找到具有相同名称的第二或第三类
另一种选择是依靠
当然,还有其他方法可以做到这一点,哪种方法更可靠,首选取决于页面结构,属性名称和值的唯一性等。
希望能有所帮助。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我正在为Java applicaton写一个硒测试,该硒测试会在每次登录会话后创建新的id,因此我找不到使用ID的元素。
如何在不使用ID的情况下在xpath中找到具有相同名称的第二或第三类
<div class="aui_FieldLayout_InputContainer">
<textarea id="gwt-uid-1601" class="aui-TextAreaInput printable" rows="4"></textarea>
</div>
<div class="aui_FieldLayout_InputContainer">
<textarea id="gwt-uid-1602" class="aui-TextAreaInput printable" rows="4"></textarea>
</div>
<div class="aui_FieldLayout_InputContainer">
<textarea id="gwt-uid-1603" class="aui-TextAreaInput printable" rows="4"></textarea>
</div>
最佳答案
有多种方法可以做到这一点。一种选择是通过xpath查找元素,并检查id
属性是否以gwt-uid-
开头:
driver.findElements(By.xpath('//textarea[starts-with(@id, "gwt-uid-")]'))
另一种选择是依靠
textarea
的容器:driver.findElements(By.xpath('//div[@class="aui_FieldLayout_InputContainer"]/textarea'))
当然,还有其他方法可以做到这一点,哪种方法更可靠,首选取决于页面结构,属性名称和值的唯一性等。
希望能有所帮助。