2012-04-27 102 views
0

我正在嘗試編寫測試自動化代碼,並且很難在下面的結構中使用Xpath查找元素。使用xPath的元素選擇

<div id="270590-bar" class="chart-row clearfix" style="display: block;"> 
    <div class="bar-col float"> 
     <div class="bar-wrapper"> 
      <div class="topic-name-wrapper" style="background-color: transparent;">Business</div> 
      <div class="bar" style="width:170px"></div> 
     </div> 
    <div style="float:left;position:relative; "> 
     <div class="level-dd-fake">Intermediate</div> 
     <select id="270590-level" class="level-dropdown level-select"> 
    </div> 
    <div id="270590-un" class="topic unsubscribe" style="float:left; margin: 0px 0px 0px 1px !important;"></div> 
</div> 

有幾個數據行將爲每行使用與上面相同的一組行。 當我給裏面class="topic-name-wrapper"的值,例如: - 業務

我想在class="level-dropdown level-select"

希望這個問題是清楚的,並在此任何幫助非常感謝,選擇DropDown元素。

+0

要選擇具有類'select'你可以使用'//選擇[@類=「級別的下拉級選」] ' - 但我不明白'當我給內部值賦值時'的含義 - 我想這是一個附加條件 – MiMo 2012-04-27 10:47:19

+0

實際上界面看起來像這樣.http://www.freeimagehosting.net/n55xi我想獲得「業務」旁邊的select元素 – ras 2012-04-27 11:12:02

回答

2

據我瞭解,你需要類似的東西:

//div[*[.='Business']]/following-sibling::div/select 
+0

謝謝。這工作。你能解釋一下Xpath的這一部分嗎? ''div [* [。='Business']]' – ras 2012-04-27 11:14:32

+0

@ras,'// div [* [。='Business']]'將找到具有任何子節點('*')文字'商業'。 Dot與'text()='Business''相同。在這裏可以找到有關xpath的良好閱讀:http://msdn.microsoft.com/en-us/library/ms256086.aspx – 2012-04-27 11:18:53

+0

謝謝@Aleh Douhi – ras 2012-04-27 11:23:47