2010-06-11 39 views
0

我正在看網站。試圖將selenium html轉移到junit,但無法使其工作,因爲它一直說錯誤:找不到元素。也許語法錯誤,因爲我能夠將它分解爲螢火蟲中的最短路徑,但仍然無法編譯。在這種情況下,你會做什麼?擊穿xpath

註冊

我使用螢火XPath來得到上面的鏈路的值 /HTML /體/格[@ ID = 'contentDisplayPane'] /格[@ ID = 'mainDiv'] /格[@ ID = 'mainDivContent'] /格[@ ID = 'simpleBox'] /表/ tbody的/ TR [2]/TD [@ ID = 'fb_PageContent'] /表/ tbody的/ TR/TD /表/ tbody的/ TR/td [4]/a

使用Firebug XPath,我能夠將其分解到此並能夠訪問註冊鏈接..但是,當我把這個在junit測試用例selenium.click((「// div [@ ID = 'simpleBox'] /表/ tbody的/ TR [2]/TD [@ ID = 'fb_PageContent'] /表/ tbody的/ TR/TD /表/ tbody的/ TR/TD [4]/a「)的; 我得到錯誤:元素// div [@ id ='simpleBox']/ta ble/tbody/tr [2]/td [@ id ='fb_PageContent']/table/tbody/tr/td/table/tbody/tr/td [4]/a「)

任何幫助或小費表示讚賞

+0

我也「很想知道」什麼是你在發出這些XPath表達式的XML文檔?你可以提供嗎? – 2010-06-11 18:03:45

回答

0

tbody元素實際上是在html中還是剛剛被Firefox插入?如果Firefox插入了tbody,而你的junit測試正在驅動不同的瀏覽器,那麼tbody可能不在那裏。因爲你沒有發佈你正在測試的文檔,所以只是在黑暗中拍攝,但也許會有所幫助。

1

嘿如果你想點擊你的網頁上的任何鏈接。 你必須先找到這個元素/文本的Xpath,爲此你可以使用Firebug.So這裏是一個前例:你可以在IDE中使用selenium.click(// a [text()=「ON」])並將其轉換去聯合和得到這個 selenium.click(「// a [text()= \」HereYouCanPutYourText \「]」);

歡迎,如果您有任何顧慮..