在 Selenium 中定位以下元素的任何建议

Any suggesstions to locate the below elements in Selenium

下面的示例 HTML。我想找到包含文本 Person 属性和 Age.

的元素
<div id="ext-gen210" class="x-tool x-tool-toggle"></div>
<span id="ext-gen214" class="x-panel-header-text">Person Attributes</span>
</div>
<div id="ext-comp-1071" class=" DDView ListView" style="height: auto;">
   <p class="dragItem "><i class="icon-Gen"></i>Age</p>
</div>

注意:我正在寻找不使用 xpathidclassName 的解决方案,因为它们可能会随着我网站的每个新版本而改变。

我尝试使用

找到它们

'name' --> By.name("Person Attributes") and By.name("Age") but both failed.

By.name 将检查 name 属性 。您需要的是使用 By.xpath:

检查元素的 text
By.xpath('//div[span/text() = "Person Attributes"]')

或者,您还可以检查 id 元素 是否以 ext-gen:

开头
By.xpath('//div[starts-with(@id, "ext-gen")]')