試試這個,找到你想要使用正則表達式匹配包含單詞「費率」一排排,然後得到第三個單元格的文本在行中。
myrate = browser.tr(:text, /Rate/).td(:index => 2).text
#or you can use the more user-friendly aliases for those tags
myrate = browser.row(:text, /Rate/).cell(:index => 2).text
如果單詞「費率」可能會在其他別的地方出現textin該表,但永遠只是你想要的行的第二個單元格的唯一入口,然後找到那個確切的文本的單元格,使用父方法來定位包含該單元格的行,然後從第三個單元格中獲取文本。
myrate = browser.cell(:text, 'Rate').parent.cell(:index => 2).text
使用.cell
& .row
VS .td
& .tr
是你的,有些人喜歡的標籤,有些人喜歡更具描述性的名稱。使用任何您感覺使代碼對您或其他將使用它的人來說可讀性最高的代碼。
注:上面的代碼假定使用的Watir-webdriver的,或的Watir 2.x的其中兩個採用基於零索引。對於舊版本的Watir的,改變索引值3
並記錄在案我完全對缺乏您發佈的代碼示例的可測試性的人的意見一致。這很可怕。要求找到合適的元素(如ID值或名稱)不會使頁面更易於測試。
發佈實際樣本HTML從你的頁面,而不是一些通用的,我們可以更好地看到您面臨的實際挑戰,因此會讓您獲得更好的答案。 –