我有一個watir-webserver Ruby腳本,我正在開發,我首先提示用戶輸入用戶名和密碼(使用Ruby-Tk)。watir-webdriver找不到或填入text_field
在任何情況下,我可以用這個代碼,打開網頁:
b = Watir::Browser.start 'https://connect.mypage.com/Home'
在那之後,我把以下內容:
t1=b.text_field(:id => 'ctl00_cphBody_txtUserName').when_present.set @entry1.textvariable
沒有填充
我有努力爲ctl00_cphBody_txtUsername編寫一個名字,但那也不起作用。
使用在Firefox中檢查,本場構造如下:
<input name="ctl00$cphBody$txtUsername" id="ctl00_cphBody_txtUsername" class="firstFocus" maxlength="50" type="text">
類firstFocus的是:
<script type="text/javascript">
$(document).ready(function() {
jQuery('.firstFocus').focus();
});
</script>
一)您是否嘗試加載頁面之前類似的睡眠2「?也許這需要花費一兩秒鐘的時間來加載所有內容,而不是在加載頁面時加載所有內容。 when_present在阿賈克斯網站中不適合我。另外,在執行.set之前,請嘗試對元素執行.fire_event('focus')。 – daremkd 2014-10-01 15:36:50
我在b = Watir :: Browser.start'https://connect.mypage.com/Home' – bentaisan 2014-10-01 15:38:10
後放了一個睡眠(60),只有錯誤/例外情況發生在water-webdriver超時時。 – bentaisan 2014-10-01 16:15:30