我正在從Watir移植到Selenium-RC的幾個腳本,以查看組織的變化有多困難。用於Ruby和Xpath選擇器的Selenium客戶端的問題 - 來自單個表的多個鏈接
我有一個表'全局列表',其中包含4列,每列有無序列表,每個列表元素包含一個單詞與超鏈接。
在的Watir,我會簡單地使用:
@browser.table(:class, /global-list/).links.each {|link| puts link.text,link.href}
硒似乎沒有成爲這樣一個簡單的方法來做到這一點。我需要來自該單個表格的所有鏈接(href和文本)。起初我以爲我的Xpath是不正確的,因爲它只會顯示第一列(4)或第一個href元素。
puts @browser.get_xpath_count("//table[@class='global-list']//a[@href]")
- 給我的64個鏈接的結果(在所有4級TR的和/或UL的總數)。
puts @browser.get_text("//table[@class='global-list']//a[@href]")
- 給我一個文本結果(只是第一個tr中的第一個td)。
puts @browser.get_text("//ul[@class='global-list']")
- 給我第一列文字(第一個tr中的第一個ul)。
我是新來的Selenium,但我已閱讀文檔和可用方法(http://selenium-client.rubyforge.org/),但尚未看到一個簡單的解決方案。
我也嘗試過DOM定位器方法,但是如果get_text或get_attribute是我唯一的選擇,那麼我無法通過這種方式提高我的結果。
謝謝,這是我失蹤的作品。我將不得不對子元素做一些更復雜的迭代,因爲不幸的是鏈接ID不是恆定的,最高達到64.我在運行循環時也遇到以下錯誤 - 「範圍的錯誤值」。我確實添加了一條關閉的報價單,並將其確認爲num_links爲「64」。否則,不會做任何更改。插入值「64」可以解決錯誤。再次感謝! – 2010-11-05 06:32:37