我可以检查xpath元素定位器,但是当我在同一个xpath元素定位器上尝试click_ok时。我收到此错误。
# Error requesting http://localhost:4444/selenium-server/driver/:
# ERROR: Invalid xpath [2]:(//table[@onclick='DeviceListManager.element_onclick(this);'])[7].0.2
not ok 14 - click, xpath=(//table[@onclick='DeviceListManager.element_onclick(this);'])[7].0.2
# Failed test 'click, xpath=(//table[@onclick='DeviceListManager.element_onclick(this);'])[7].0.2'
# at watchtest.pl line 55.`
$sel->table_is("xpath=(//table[\@onclick='DeviceListManager.element_onclick(this);'])[7].0.2", "Overflows");
$sel->click_ok("xpath=(//table[\@onclick='DeviceListManager.element_onclick(this);'])[7].0.2");
使用:perl_5.8.9,selenium IDE 2.8.0
id('MainContentContainer')/x:table/x:tbody/x:tr/x:td[1]/x:div/x:div/x:div[1]/x:div/x:div/x:table[9]/x:tbody/x:tr/x:td[3]
<table class="item-header inner-closed" cellspacing="0" cellpadding="0" onmousedown="DeviceListManager.draggableItem_OnMouseDown(event, this);" ondblclick="DeviceListManager.element_ondblclick(this);" onclick="DeviceListManager.element_onclick(this);" itemtype="xsd:int" itempath="ITDiag" url="undefined" itemname="itdiag/Connections.Overflows" devname="undefined">
<tbody>
<tr>
<td>
<td class="img variable-img">
<td class="text">Overflows</td>
</tr>
</tbody>
</table>
任何想法? 谢谢帕维尔
答案 0 :(得分:0)
您没有加载框架。看看xpath checker返回什么。它显示了id(&#39; MainContentContainer&#39;)。您必须先加载此框架。使用以下代码
driver.switchTo().frame(ID_or_NAME);
现在执行点击操作。