2009-11-03 56 views
1

我使用硒RC和創建Java中的所有腳本(使用JUnit測試案例)Selenium RC:如何點擊鏈接出現在網格中?

我想點擊有「編輯」鏈接一個網格列。 我的代碼是什麼樣子,

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

gRowgCol被定義爲整數,其值變化爲移動到下一行/列。

請讓我知道如果有什麼需要在此做。

回答

1

一些注意事項:

  • 你可能想點擊鏈接(<a>),而不是細胞上。
  • 孩子選擇需要一個單一的斜線://parent/child
  • 我敢肯定你需要tbody存在 - 它是由瀏覽器implicidly補充說:
    //table/tbody/tr[2]/td[3]/a[1]
  • 你可能有更好的運氣與CSS選擇器:
    css=table tr:nth-child(2) td:nth-child(3) a
+0

+1雖然他並不需要,如果他寫''加// tbody'表// TR [2]'的''//查找後裔不僅在未來的更深層次,但在所有更深層次。這可以使嵌套表中的混亂,雖然... – moxn 2009-11-03 09:23:48

+0

@moxn - 好點 - 所以這可能不是這裏的問題。 – Kobi 2009-11-03 09:31:03

+0

了Kobi哎,我包括「/ TBODY」和它的作品....謝謝謝謝謝謝.... woooopppppyyyyyyyy .....感謝很多:) – Saara 2009-11-03 10:50:10

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 para孩子的後代para元素。

相關問題