1

クリック可能な div の「保存」ボタンを使用しているフォーム ページで Openscript を使用しています。ボタンを手動でクリックすると、JavaScript イベントが実行され、ページの変更が保存されます。スクリプトを再生すると、スクリプトはボタンをクリックして次のページにリダイレクトされますが、テキスト ボックスで行った変更は保存されません。再生中に ng-click updateUser() 関数を実行しないと思います。openscriptで保存ボタンをクリックしてjavascript関数を実行するにはどうすればよいですか?

Openscript コード:

web.button(
        "/web:window[@index='0' or @title=Payment Processor']/web:document[@index='0']/web:form[@name='form' or @index='0']/web:button[@index='1']")
        .click();

div 保存ボタンのコードは次のようになります。

<div class="row">
   <div class="col-xs-12">
       <button class="btn btn-primary" ng-click="updateUser()">
          <i class="fa fa-asterisk"></i>
           Save
       </button>

   </div>
</div>
4

3 に答える 3

0

.click();動作するはずですが、試すこともできmouseClick()ます。

OATS 12.4.0.1 を使用し、AnjularJS Docs の例 #64 に対してテストして、この同様の ng-click を再生して、表示されるカウントを増やします。以下の私の例はmouseClick()

  • AnjularJS の例 #64:

    <body ng-app="">
      <button ng-click="count = count + 1" ng-init="count=0">
        Increment
      </button>
      <span>
        count: {{count}}
      </span>
    </body>
    
  • Openscript コード:

    web.window(2, "/web:window[@index='0']").navigate(
         "https://docs.angularjs.org/examples/example-example64/index.html");
    {
      think(14.929);
    }       
    web.button(4, "/web:window[@index='0']" 
            + "/web:document[@index='0']/web:button[@index='0']")
        .mouseClick(null, 1, false);
        // .click(); // this should work too.
    
于 2014-10-10T16:14:43.107 に答える
-1

これまでのところ、フォームが保存されない、または他のクリックが保存されないというこの問題に直面したことはありません..次の手順を試してください..

  1. 保存オプションを使用して新しいスクリプトをもう一度記録します
  2. 適切な思考時間を追加する

think(8);または、think(8);think(8);openscriptが思考時間を記録しない場所もあるので、私もそうします。

実際、私は常にすべてのステップの後に思考時間を増やします。 think(8);思考時間がそこにある場合でも、すべての単一のステップの後に一定の時間として、さらに追加し、思考時間がない場合はいくつか追加します。最大はthink(10);です。

于 2015-11-05T22:13:05.980 に答える