我正在尝试使用selenium定位UI文件,但Xpath正在动态地改变evrytime 这是来源
<div id="tab-1080" class="x-tab x-box-item x-tab-default x-top x-tab-top x-tab-default- top x-noicon x-tab-noicon x-tab-default-noicon x-active x-tab-active x-tab-default-active x-top-active x-tab-top-active x-tab-default-top-active" style="margin: 0px; left: 406px; top: 0px;">
<em id="tab-1080-btnWrap" class="">
<button id="tab-1080-btnEl" class="x-tab-center" autocomplete="off" role="button" hidefocus="true" type="button">
<span id="tab-1080-btnInnerEl" class="x-tab-inner" style="">Report Center</span>
<span id="tab-1080-btnIconEl" class="x-tab-icon x-hide-display"> </span>
</button>
</em>
</div>
我需要找到这个唯一但是id 1080不断改变evreytime?任何人都可以帮助找到如何使用范围ID“报告中心”找到,因为这是区分我的网页中此按钮的唯一属性。
答案 0 :(得分:0)
您可以使用
//span[text()='Report Center']
答案 1 :(得分:0)
就个人而言,我会使用css:它们比xpath更快,并且通常被社区认为是优越的,我也认为如果你做一些研究,它们也更容易使用。
http://sauceio.com/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/
span.x-tab-inner ==> finds the element by its class
span[id*=btnInnerEl]` ==> finds element by a partial piece (substring) of the id
答案 2 :(得分:0)
有多种方式;我可以建议这些(当时进入我的脑海):
"//span[contains(text(), 'Report Center')]"
"//span[contains(@id, 'btnInnerEl')]"
"//span[contains(text(), 'Report Center') and contains(@id, 'btnInnerEl')]"