Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过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'))


当然,还有其他方法可以做到这一点,哪种方法更可靠,首选取决于页面结构,属性名称和值的唯一性等。

希望能有所帮助。

08-28 23:40
查看更多