2015-05-26 49 views
0

我們有選擇代碼,點擊TD中的空白區域時觸發。 「onclick = ...」在TR上。Selenium RC:需要點擊​​

當我得到一個元素的父(TD)並單擊它時,它會觸發單元上的點擊而不是TD或TR。所以,如果基本元素是一個鏈接,它會觸發它。如果基本元素是沒有onClick事件的東西,它什麼也不做。

我檢查被點擊的元素的標籤名稱,我知道它是TD。我也嘗試通過向上點擊兩次,結果相同。

任何想法如何觸發行上的點擊事件?

例HTML:

<table> 
    <tr onclick="selectRow(this)";> 
     <td><a href="something">Link Text</a></td> 
     <td><input id="someID" type="text" value="display"></td> 
    </tr> 
</table> 
+1

我使用xpath獲取TD或TR的元素:」// * [@ id ='some_id']/..「 –

+1

爲什麼不使用'id'? – Saifur

+0

TD上沒有ID。 –

回答

0

對於文檔可以使用全部或部分的xpath內選擇的任何元件。

作爲例子:

"/html/body/div[5]/div[2]/div/div[3]/div[6]/div/table/tr[1]/td[2]" 

".//table/tr[1]/td[2]" 

,並點擊任何其他元素後=)

完整的XPath可以從螢火蟲/蜻蜓/鉻開發工具自動生成通過右鍵單擊任何標籤並選擇「複製xpath」

+0

無論我如何獲得TD或TR元素,鏈接內部都是點擊的內容。此外,這是一個動態應用程序,我不能使用靜態xpath來查找元素。 –

+0

你不能使用完整的xpath,但相信你可以使用部分像「。// table [@ id =「someId」]/tr [1]/td [2]「 – Andrew

+0

找到元素不是問題,當我找到正確的TD元素並點擊它時會發生什麼,元素在TD中 –

0

可能性le問題是不是選擇器。問題是元素的SIZESelenium將不會點擊高度/寬度爲的元素。 a工作原因是因爲有一些innerText和大小不是。希望它是有道理的。

+0

TD的大小>零,我可以改變它的背景顏色,看它有多大。 –

+0

嘗試用'Selenium'查找元素的'height'看看它返回的是什麼 – Saifur

0

我通過生成單擊TD元素的JavaScript命令找到了解決方法。不知道爲什麼它以這種方式工作,但不是通過驅動程序,但它確實有效。

我們使用原型,所以如果我有ID:。 $( 'SOME_ID')上()點擊() 如果我有一個鏈接的文本: $$(「A:包含(」鏈接文本')「)[0] .up()。click()