2016-11-18 52 views
1

enter image description here我需要點擊數據表的第一行。但是這個數據表會根據用戶的不同而不同。我怎樣才能爲這些動態元素創建xpath?如何爲動態數據表創建xpath?

<div id="periodAccordion"> 
<h3 id="p5-header" onclick="periodOnClick('5','2016')">Period 5</h3> 
<div id="p5"> 
<h3 id="p3-header" onclick="periodOnClick('3','2016')">Period 3</h3> 
<div id="p3"> 
<h3 id="p2-header" onclick="periodOnClick('2','2016')">Period 2</h3> 
<div id="p2"> 
<h3 id="p1-header" onclick="periodOnClick('1','2016')">Period 1</h3> 
<div id="p1"> 
<h3 id="p10-header" onclick="periodOnClick('10','2015')">Period 10</h3> 
<div id="p10"> 
<h3 id="p8-header" onclick="periodOnClick('8','2015')">Period 8</h3> 
<div id="p8"> 
</div> 

在這裏,我需要爲第一element.its attibutes創建XPath是:

<h3 id="p5-header" onclick="periodOnClick('5','2016')">Period 5</h3> 
<div id="p5"> 

如何爲這個元素創建的XPath這裏時,我與其他用戶登錄的所有元素會有所不同? 。

回答

2

如果你總是想sel等第一行,使用下面的xpath:

//h3[contains(@id,'header') and contains(@onclick,'periodOnClick') ][1] 

希望這會幫助你,讓我知道發生了什麼。

1

您可以使用下面的XPath來選擇第一h3

//div[@id='periodAccordion']/h3 

如果從主格,則需要爲第一div

//div[@id='periodAccordion']/div 

如果你只需要冷杉然後你可以使用:

//div[@id='periodAccordion']/h3[1] 
+0

當我使用上面的xpaths時,它正在選擇整個表格(即選擇期間5,期間3,期間2,期間1等)。因爲所有的表格都放在相同的標題和div下。 –

+0

是的,但你的find方法將只返回找到的第一個元素。你有找到所有元素或找到一個元素的方法,第二個元素將只返回一個元素,第一個找到。 – lauda