2015-02-23 32 views
0

下面的示例HTML。我想查找包含文本的元素屬性和年齡任何建議在硒中找到以下元素

<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,因爲他們可能與我的網站的每個新版本而改變。

我嘗試使用

'名稱' 找到它們 - > By.name( 「人屬性」),並By.name( 「時代」),但都失敗了。

回答

2

By.name將檢查該name屬性。你需要的是使用By.xpath檢查文本元素:

By.xpath('//div[span/text() = "Person Attributes"]') 

或者,你也可以檢查一個id元素開始與ext-gen

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

謝謝!這按預期工作。 – bpk 2015-02-23 17:31:59

+0

你能告訴我,如何使用開始或任何類似的方式檢查文本? – bpk 2015-03-31 16:03:31

+0

@bpk當然,請將文本稱爲「text()」或「。」:'// div [starts-with(。,「beginning」)]'。 – alecxe 2015-03-31 16:41:28