2011-05-16 77 views
1

我使用set將值插入到div下的文本字段中。如何使用Watir將值插入到div下的文本字段中

下面是我沒有成功使用的方法。這是我能夠識別元素的唯一方法。當我試圖通過名稱識別文本字段未被識別時。在顯示

@browser.div(:evaluation, :id => "evaluation_form_attributes").text_field(:id => "evaluation_form_name") 
@browser.set('Teacher Evaluation Form') 

以下錯誤:

undefined method `set' for #<Watir::IE:0x4dd9348> 

這是HTML:

div id="evaluation_form_attributes" 

評價名稱:

input id="evaluation_form_name" type="text" size="50" name="evaluation_form[name]" maxlength="30" 
+0

你終於能找到text_field了嗎? – highBandWidth 2011-06-09 00:16:09

回答

3

試試這個:

browser.text_field(:id => "evaluation_form_name").set 'Teacher Evaluation Form' 
+0

感謝您的快速回復!我以前嘗試過這種方法,但當我嘗試訪問元素Watir :: Exception :: UnknownObjectException:無法找到元素,使用{:id =>「evaluation_form_name」} – Anca 2011-05-16 22:54:40

+0

請確保ID拼寫正確,並且還搜索頁面代碼以確保它是唯一的並且不在頁面的其他地方使用。每個HTML標準ID在頁面中應該是唯一的。試圖通過ID值識別的函數往往會失敗,頁面違反HTML標準,並且ID值不是唯一的 – 2011-05-18 21:21:22

0

要設置文本字段的值,您只需要找到它並進行設置。你已經知道的設置部分(set),所以你需要將找到文本字段的東西串起來。

如果Zejiko的答案由於「無法定位元素」而無法正常工作,那麼它不是失敗的設置,而是找到文本字段。使用Firebug(在Firefox中)或某種DOM工具包(工具>開發工具或IE8中的F12)來查找文本字段並查看它具有的屬性。

確保id真的是"evaluation_form_name"。這是區分大小寫的,並且對前導/尾隨空格敏感。您可以嘗試以下操作以使搜索範圍更寬:

@browser.text_field(:id => /evaluation/).set 'Teacher Evaluation Form' 

這使用正則表達式來標識id。你可以搜索很多東西,不只是:id,你可以使用多個。例如:

@browser.text_field(:id => /eval/, :index => 2) 

找到其ID爲「eval」的第二個文本字段。

您可以用什麼來識別文本字段可以在這裏找到:https://github.com/watir/watir/wiki/HTML-Elements-Supported-by-Watir

+1

謝謝你的答案..仍然無法通過id或名稱來識別文本字段。奇怪的是,我使用相同的方法來識別其他網頁上的文本字段,它工作正常..只是與這一個我有問題 – Anca 2011-05-18 21:54:37

+0

你可以嘗試通過索引獨自識別它,看它是否可以找到,或通過一些其他屬性。如果它是用來造成問題的形式,那麼它是否仍然存在。您可以先識別容器(div),然後在div中使用索引(例如,div中的第3個文本字段是.div(:id =>'imadiv').text_field(:index => 3))。如果沒有這些工作,你需要發佈一個鏈接或一些HTML,所以我們可以看到它的外觀,或失敗,你可以嘗試xpath!此外,請確保它不是一個時間問題(試圖找到文本字段存在之前) – kinofrost 2011-05-20 08:10:26

1

是否有可能參與的iframe?如果你知道這個東西在那裏,並且你確定了這個ID,並且Watir找不到它,那麼通常這是因爲頁面的這個部分在一個框架內。

擁有作爲一個框架內的元素,您必須指定的幀,則該元素

browser.frame(:怎麼樣,什麼).element(:怎麼樣,什麼)。方法等

查看http://wiki.openqa.org/display/WTR/Frames瞭解更多信息

+0

那麼你怎麼能在iframe內導航? – highBandWidth 2011-06-09 00:11:33

+1

看到我剛剛編輯它時添加到答案中的鏈接。或谷歌使用像:watir wiki框架 – 2011-06-09 04:45:14

相關問題