Это соответствует тому, что заметил xboxer21. Я обнаружил, что этот код работает для меня на сайте с похожим виджетом календаря.
Допустим, у вас есть HTML-форма с полями ввода текста, которые установлены только для чтения:
<form name="FindRange" method="post" action="FindRange.asp" onsubmit="return false">
...
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" class="FieldLabel">
<input type="text" name="FromDate" size="16" readonly="true" style="width:85px; background-color:#F8F6E7;">
</td>
<td>
<input type="text" name="ToDate" size="16" readonly="true" style="width:85px; background-color:#F8F6E7;">
</td>
</tr>
...
</form>
Использование кода типа '@ ie.text (: name, "FromDate"). Set ("23.03.2011") "в вашем скрипте Ruby Watir приведет к ошибке в Ruby, сообщающей, что поле доступно только для чтения , Но использование метода eval () может позволить вам использовать Javascript для установки полей только для чтения за кулисами.
#Code above these lines instantiate the Watir object in @ie and navigate to the page #containing the HTML form
#named 'FindRange'
@ie.document.parentWindow.eval("document.FindRange.FromDate.value = '3/23/2011'")
@ie.document.parentWindow.eval("document.FindRange.ToDate.value = '3/24/2011'")