下面的示例HTML
。我想找到包含文本 Person Attributes和 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' - &gt; By.name(“Person Attributes”)和By.name(“Age”)但都失败了。
答案 0 :(得分:2)
By.name
会检查 name
属性。您需要的是使用By.xpath
检查元素的文字:
By.xpath('//div[span/text() = "Person Attributes"]')
或者,您还可以检查id
元素是否以 ext-gen
开头:
By.xpath('//div[starts-with(@id, "ext-gen")]')