我需要点击数据表的第一行。但是这个数据表总是会根据用户的不同而有所不同。如何为这些动态元素创建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>
这里我需要为第一个元素创建xpath。attibutes是:
<h3 id="p5-header" onclick="periodOnClick('5','2016')">Period 5</h3>
<div id="p5">
如何为此元素创建xpath?当我与其他用户登录时,所有元素都会有所不同。
答案 0 :(得分:2)
如果您总是想要选择第一行,请使用以下xpath:
//h3[contains(@id,'header') and contains(@onclick,'periodOnClick') ][1]
希望这会对你有所帮助,让我知道会发生什么。
答案 1 :(得分:1)
您可以使用以下xpath选择第一个h3
:
//div[@id='periodAccordion']/h3
如果你需要主div中的第一个div
,那么:
//div[@id='periodAccordion']/div
如果您只需要第一个,那么您可以使用:
//div[@id='periodAccordion']/h3[1]