Ruby watir webdriver watir::Exception::ObjectReadOnlyException(watir::Exception::ObjectReadOnlyException)

Ruby watir webdriver watir::Exception::ObjectReadOnlyException(watir::Exception::ObjectReadOnlyException),ruby,watir-webdriver,Ruby,Watir Webdriver,各位 我的web应用程序有一个日期小部件,我正在尝试输入日期,我得到了上述异常,我的HTML代码如下所示: <form id="order_form" class="h" method="post" action="/order/orders/1000"> <div style="margin: 0pt; padding: 0pt; display: inline;"> </div> <input id="order_type_description"

各位

我的web应用程序有一个日期小部件,我正在尝试输入日期,我得到了上述异常,我的HTML代码如下所示:

<form id="order_form" class="h" method="post" action="/order/orders/1000">
<div style="margin: 0pt; padding: 0pt; display: inline;">

</div>
<input id="order_type_description" type="hidden" value="Order" name="order[type_description]">
<fieldset>

</fieldset>
<fieldset id="simple">
<legend>Order terms</legend>
<div class="field clear">
<label class="_">&nbsp;</label>
<textarea id="order_sorder_for" rows="5" name="order[order_for]" cols="80"></textarea>
</div>
</fieldset>
<fieldset id="basic" style="display: none;">

</fieldset>
<fieldset id="change" style="display: none;">

</fieldset>
<fieldset>
<legend>Optional</legend>
<fieldset>
<div class="field clear">

</div>
<div class="field clear">
<label class="_">Range</label>
<select id="smart_date" onchange="process_date(this, true);" name="order[smart_date]">

</select>
<p class="tip"> Select . </p>
</div>
<div class="field clear">
<label class="_">Begins on</label>
<input id="order_begin_string" class="custom_date_range calendar hasDatepicker" type="text" size="30" readonly="readonly" name="order[begin_string]">
<img class="ui-datepicker-trigger" src="/images/calendar.gif" alt="..." title="...">
</div>
<div class="field clear">
<label class="_">Ends on</label>
<input id="order_end_string" class="custom_date_range calendar hasDatepicker" type="text"  size="30" readonly="readonly" name="order[end_string]">
<img class="ui-datepicker-trigger" src="/images/calendar.gif" alt="..." title="...">
</div>
@@browser.execute_script("document.order_form.order_begin_string.value = 'March 01, 2011'")
但上述方法不起作用,因此我得到以下错误:

  document.order_form is undefined (Selenium::WebDriver::Error::UnexpectedJavascriptError)

非常感谢您的帮助。非常感谢

应该使用getElementById(或类似)方法定位元素

以下内容适用于您的示例HTML(在Firefox中测试):

@@browser.execute_script("document.getElementById('order_begin_string').value='March 01, 2011'")