Selenium RC:如何点击链接出现在网格中?

时间:2009-11-03 08:03:32

标签: javascript selenium

我正在使用Selenium RC并在java中创建所有脚本(使用Junit测试用例)

我想点击一个包含“编辑”链接的网格列。 我的代码看起来像,

selenium.click("//table[@id='ctl00_POMSContentPlaceHolder_gvBillingCompany']//tr["+gRow+"]//td["+gCol+"]");

gRowgCol被定义为整数,其值随着移动到下一行/列而变化。

如果需要做任何事情,请告诉我。

2 个答案:

答案 0 :(得分:1)

一些注意事项:

  • 您可能想要点击链接(<a>),而不是单元格。
  • 儿童选择器需要一个斜杠://parent/child
  • 我很确定你需要tbody - 浏览器会明确地添加它:
    //table/tbody/tr[2]/td[3]/a[1]
  • 使用css选择器可能会有更好的运气:
    css=table tr:nth-child(2) td:nth-child(3) a

答案 1 :(得分:1)

尝试以下方法:

selenium.click("xpath=id('ctl00_POMSContentPlaceHolder_gvBillingCompany')/descendant::tr[" +gRow+ "]/descendant::td["+gCol+"]");

以下内容来自http://www.w3.org/TR/xpath#path-abbrev

在XPath中,///descendant-or-self::node()/的简写,但位置路径//para[1]与位置路径/descendant::para[1]的含义不同。后者选择第一个后代para元素;前者选择所有后代的para元素,这些元素是他们父母的第一个孩子。