我在HTML中有一个包含以下代码段的页面:
...
<tbody id="c_scopePane4_tbody">
<tr id="c_scopePane4_tr_header">
...
</tr>
</tbody>
...
现在我正在尝试使用Selenium中的XPath表达式指定<tr>
标记。这是我尝试的:
//tr[@id='c_scopePane4_tr_header']
这告诉我
[error] locator not found: //tr[@id='c_scopePane4_tr_header'], error = Error:
Element //tr[@id='c_scopePane4_tr_header'] not found
但是,如果我将XPath表达式更改为:
//*[@id='c_scopePane4_tr_header']
...然后它有效。是什么给了什么?
答案 0 :(得分:3)
它使用相同的代码段为我工作。也许HTML中的其他内容会导致问题?您是否有多个具有相同ID的<tr>
(或任何其他元素)?
因为ID(意味着)是唯一的,所以您应该可以放心地使用第二个XPath表达式。或者,您可以使用以下内容,但请务必在您的定位器前加xpath=
,以便Selenium知道您正在使用的定位器类型:
xpath=id('c_scopePane4_tr_header')
此外,如果您只想选择<tr>
元素,那么您还可以使用以下方法之一:
答案 1 :(得分:0)
备用CSS样式定位器:
css=tr#c_scopePane4_tr_header
或DOM样式:
dom=document.getElementById("c_scopePane4_tr_header")