【问题标题】:watir-webdriver Watir::Exception::ObjectReadOnlyException (Watir::Exception::ObjectReadOnlyException)watir-webdriver Watir::Exception::ObjectReadOnlyException (Watir::Exception::ObjectReadOnlyException)
【发布时间】:2012-03-06 14:04:59
【问题描述】:

伙计们,

我的网络应用程序有一个日期小部件,我正在尝试输入一个日期,但出现上述异常,我的 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>

如何输入日期?我正在考虑像这样在 watir 代码中运行 javascript:

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

但上述方法不起作用,我收到以下错误:

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

非常感谢任何帮助。非常感谢

【问题讨论】:

    标签: ruby watir-webdriver


    【解决方案1】:

    元素的定位应该使用getElementById(或类似的)方法来完成。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 2018-02-16
      相关资源
      最近更新 更多