0

I am really stuck with a problem where i want to set text in a text area.I have tried all listed alternave

String line1="1.    "+rca+"\n";

    String line2="2.    Fixes implemented to resolve the issue :";//\n"+fixes+"\n";

where rca and fixes can also be a multiline string depending on values of previous comment

      //works fine for single line fails in nultiple line 
   ((JavascriptExecutor)driver).executeScript("document.getElementById('comment').value='"+line2"';");
//Automatically clicks on submit button i guess that is not required
    driver.findElement(By.id("comment")).sendKeys(line3+line4);

I used sendKeys method which performs automatic click on submit button i guess written below the text area in original page.

I have used javascript executor but still it does not solve my problem

Please refer the question listed below:

Passing a string value to Javascript Executor in selenium

because this is in continuation with the question.

Can somebody please help how to use sendKeys so that it does not perform any other action or any other way set text in text area.

The strings i want to set is multiple line and each string can have multiple line depending upon user comment which is dynamically generated.

    <table><tbody><tr><td><textarea name="comment" id="comment" rows="25" cols="80" onfocus="this.rows=25"></textarea>
        <br><div class="knob-buttons">
      <input type="submit" value="Save Changes" id="commit">
    </div>

        <table id="bug_status_bottom" class="status" cellspacing="0" cellpadding="0">
          <tbody><tr>
            <th class="field_label">
              <a href="page.cgi?id=fields.html#bug_status">Status</a>:
            </th>
            <td><div id="status"><input type="hidden" id="bug_status_dirty">
        <select id="bug_status" name="bug_status">
            <option value="REOPENED" id="v7_bug_status">REOPENED</option>
            <option value="RESOLVED" id="v9_bug_status" selected="selected">RESOLVED</option>
            <option value="VERIFIED" id="v11_bug_status">VERIFIED</option>
            <option value="CLOSED" id="v13_bug_status">CLOSED</option>
        </select>


        <script type="text/javascript">
        <!--
          initHidingOptionsForIE('bug_status');

        //-->
        </script>

    <noscript>&lt;br&gt;resolved&amp;nbsp;as&amp;nbsp;</noscript>

  <span id="resolution_settings"><input type="hidden" id="resolution_dirty" value="1">
        <select id="resolution" name="resolution">
            <option value="FIXED" id="v3_resolution" selected="selected">FIXED</option>
            <option value="INVALID" id="v5_resolution">INVALID</option>
            <option value="DUPLICATE" id="v9_resolution">DUPLICATE</option>
            <option value="WORKSFORME" id="v11_resolution">WORKSFORME</option>
            <option value="MOVED" id="v13_resolution">MOVED</option>
        </select>


        <script type="text/javascript">
        <!--
          initHidingOptionsForIE('resolution');
          showFieldWhen('cf_bug_fixed_on',
                'resolution', ['FIXED']);
        //-->
        </script>
  </span>

    <noscript>&lt;br&gt; duplicate</noscript>
    <span id="duplicate_settings" class="bz_default_hidden">of
      <span id="dup_id_container" class="bz_default_hidden">bug 
        (<a href="#" id="dup_id_edit_action">edit</a>)
      </span><input id="dup_id" name="dup_id" size="6" value="">
    </span>
    <div id="dup_id_discoverable" class="">
      <a href="#" id="dup_id_discoverable_action">Mark as Duplicate</a>
    </div>
</div>

<script type="text/javascript">
  var close_status_array = [
      'RESOLVED',
      'VERIFIED',
      'CLOSED'
  ];
  YAHOO.util.Dom.removeClass('dup_id_discoverable', 'bz_default_hidden');
  hideEditableField( "dup_id_container", "dup_id", 'dup_id_edit_action',
                     'dup_id', '' )
  showHideStatusItems( "",  ['',
                             'RESOLVED']);
  YAHOO.util.Event.addListener( 'bug_status', "change", showHideStatusItems,
                                ['',
                                 'RESOLVED']);
  YAHOO.util.Event.addListener( 'resolution', "change", showDuplicateItem);
  YAHOO.util.Event.addListener( 'dup_id_discoverable_action',
                                'click',
                                setResolutionToDuplicate,
                                'RESOLVED');
  YAHOO.util.Event.addListener( window, 'load',  showHideStatusItems,
                              ['',
                               'RESOLVED'] );

</script>
            </td>
          </tr>
        </tbody></table>
      </td></tr></tbody></table>

Part of the Web page where i want to set the value.

JavaScript used to set the value of the text area:

((JavascriptExecutor)driver).executeScript("document.getElementById('comment').v‌​alue='"+line2"';");
Community
  • 1
  • 1
Ravi
  • 719
  • 8
  • 23

0 Answers0