xpath元素定位器上的click_ok:我可以检查它但不点击它

时间:2015-05-04 08:51:57

标签: selenium xpath

我可以检查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

使用Xpath Checker我找到了

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>

任何想法? 谢谢帕维尔

1 个答案:

答案 0 :(得分:0)

您没有加载框架。看看xpath checker返回什么。它显示了id(&#39; MainContentContainer&#39;)。您必须先加载此框架。使用以下代码

driver.switchTo().frame(ID_or_NAME);

现在执行点击操作。