我試圖測試一個頁面包含一個元素,當頁面第一次打開時,其style = attribute屬性設置爲display: none;
。在Firefox中,當測試與頁面交互時(現在爲兩個文本字段),該按鈕已啓用,並且可以通過編程方式進行點擊。然而,在IE8中,即使我嘗試手動點擊該按鈕,如果頁面與測試進行了交互,該按鈕也不能被點擊。這是代碼的樣子:在Watir中,我如何與最初「隱藏」的元素進行交互?
<a tabindex="21" onclick="if(!allow_submit() || nextStepLocked()){return false;};; new Ajax.Request(saveInfo); return false;" id="nextStepButton" href="#" class="nextButton" style="display: none;">
<img src="/btn_next_step.png" alt="Btn_next_step">
</a>
<img style="" src="/btn_next_step.png?" id="hiddenNextStepButton" class="nextButton" alt="Btn_next_step">
有導致此一個頁面上的類似的塊,而我可以點擊它只是罰款與代碼browser.image(:alt => "Btn_next_step").click
。我還注意到,當圖像從不可點擊的狀態切換到可點擊的狀態時,它會向上移動幾個像素;如果我在代碼中觸發可點擊狀態,則會發生相同的移動,但該按鈕不會變爲可點擊。
到目前爲止,我已經嘗試過使用AutoIt來模仿通常在頁面上採取的操作,並且我還嘗試了許多與圖像交互的不同方式,例如引用不同的索引,一次使用多種識別方法,以及等等。我甚至嘗試在irb中搞亂,但無濟於事。
更新:
我檢查輸入字段,他們確實迴應的onchange事件,而只是利用你輸入的文本的第一個字母。由於按鈕似乎如果我這樣做只是在頁面上任何工作,我經歷了整個源看了一下,發現在頁面的末尾以下內容:
<script>
document.onkeydown=function(e){
accession_hotkeys(e);
};
</script>
我不知道如何正確地觸發此事件,但是。在任何特定元素上執行它似乎都沒有影響。
如果您還可以向我們展示輸入字段上的HTML(請參閱下面的答案),這會有所幫助,因爲我懷疑可能會在某些特定事件發生時針對這些字段發生一些情況。 – 2011-03-02 18:31:18