在 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>
注意:我正在寻找不使用 xpath
或 id
或 className
的解决方案,因为它们可能会随着我网站的每个新版本而改变。
我尝试使用
找到它们
'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")]')
下面的示例 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>
注意:我正在寻找不使用 xpath
或 id
或 className
的解决方案,因为它们可能会随着我网站的每个新版本而改变。
我尝试使用
找到它们'name' --> By.name("Person Attributes") and By.name("Age") but both failed.
By.name
将检查 name
属性 。您需要的是使用 By.xpath
:
By.xpath('//div[span/text() = "Person Attributes"]')
或者,您还可以检查 id
元素 是否以 ext-gen
:
By.xpath('//div[starts-with(@id, "ext-gen")]')