2013-07-30 71 views
1

我正在使用Watir的頁面對象Gem。在測試期間,我發現我有一個字段,其內容相同,顯示在同一位置,但具有單獨的唯一ID。區別在於你進入頁面之前。使1個頁面對象兩個元素ID的1頁面對象變量

我嘗試使用的XPath:

select_list(:selectionSpecial, :xpath => "//select[@id='t_id9' OR @id='t_id7']") 


但遭到了腳本錯誤。

他們是靜態ID的,但我想強制他們成爲一個變量,因爲這將允許我使用「populate_page_with」功能。

目前我有一個很長的囉嗦,但我正在尋找一種更有效的方式來處理頁面對象的功能。

有誰知道一種方法來做到這一點?

回答

1

您使用xpath的方法可以工作。問題是xpath選擇器中的語法錯誤。它應該是:

"//select[@id='t_id9' or @id='t_id7']" 

注:

  • 在開始時應該是一個//而非\
  • 使用or是區分大小寫的;它必須是小寫
  • 還有缺少一個右'第一個id屬性

就個人而言,我覺得CSS和XPath選擇更難使用。我會用id定位器和正則表達式一起去。以下給出了相同的結果,但有些會發現它更易於閱讀。

select_list(:selectionSpecial, :id => /^t_id(7|9)$/) 
+0

對不起,//是我從未在其周圍放入縮進。感謝您的答覆,我會給它一個! – EBooker

+0

再次感謝它像一個魅力!我非常感謝! – EBooker