2

更新箇所

  • Webフォームのサンプルを追加
  • HTMLソースの脱字を補完

 

 

いろんな手法でクリアされてるテーマです。

  • シナリオの設定を可変にしたい
  • インプットボックス≒ダイアログを使いたい

わたしは同じ目的に、主に「csvファイル→変数値」を使用中です。
Webフォームと自動記録でもクリアの目途が立ったのでお裾分けです。

 

Webフォームのサンプル(最下部にHTMLソースあり)

特徴

  • ユーザーフレンドリーなWebフォームは、HTMLの初級レベル
  • リファレンスやサンプルがごろごろ見つかる
  • Webフォームから値を取得するフローは自動記録だけでも作れる
  • サクサク動く
  • メンテを引き継ぎやすい
  • 総じて手を出しやすい

 

作りかた(IEとChromeでテスト済み)

  • ダイアログとしてのWebフォーム:HTMLの組み立て
     ミニマムで、任意のフォームパーツの列挙のみ
     最下部サンプルを使う場合は、テキストエディタ経由で拡張子を.htmlにしてマイドキュメントあたりに保存
  • Webフォームの値取得グループ:自動記録
     IE:文字列取得(IE)、リスト取得(IE)、チェック状態取得(IE)ができる
     Chrome:(ブラウザ起動、ページ表示)、値の取得、リスト選択取得、チェック状態取得ができる

 

使いかた

  1. シナリオ冒頭でURLを起動:URLを指定してIE起動 or ブラウザ起動+ページ表示
  2. 待機ボックス(タイムアウト付き):「適宜変更してOKを押下してください」、60秒
  3. Webフォームの値取得グループ
  4. IE操作(全て閉じる)、IE操作(指定URLのIEをClose)、ブラウザ全クローズ、ブラウザクローズ
  • 以降にシナリオが目的とする処理を続ける
  • ★部分で初期値を設定するのもOK

パフォーマンス(Ver.7.2で22項目を取得)

  • IE:4秒
  • Chrome:2秒

なおも物足りないかたは、1ライブラリで一括取得を検討してみてください。
1秒未満(0秒寄り)になります。

https://winactor.com/questions/?q=指定ID等一括入力選択取得クリックを作ってみた

https://winactor.com/questions/question/指定xpath一括処理を作ってみた/

 

安定化の工夫

  • IEの詳細設定:tag、flame index、name、(value)のみをオンに

【レシピ】74 IEモードで記録したノードを安定させたい
https://www.youtube.com/watch?v=_B0rVbFbaEM

  • ChromeのXPath(原則)
    //input[@name="n_text1"] の型
  • nameの重複箇所
     IE:valueもオンに
     Chrome://input[@name="n_radio" and @value="01"]

 

関連スレッド

https://winactor.com/questions/question/入力ダイアログからの複数変数初期設定について/

https://winactor.com/questions/question/インプットボックスで複数行入力をしたい/

https://winactor.com/questions/question/【サンプル】-powershell利用オリジナルインプットボック/

https://winactor.com/questions/question/powershell利用でオリジナルインプットボックスが作成で/

https://winactor.com/questions/question/vbsをwinactorライブラリに加工する方法/

 

手法の比較

 

リファレンス

<input>: 入力欄 (フォーム入力) 要素 - HTML: HyperText Markup Language | MDN
https://developer.mozilla.org/ja/docs/Web/HTML/Element/input

<input>の使い方とtype属性の一覧をサンプル付きで紹介 | webliker
https://webliker.info/39533/

【HTML】inputタグの使い方・コンプリートガイド
https://code-kitchen.dev/html/input/

<input>-HTML5タグリファレンス
http://www.htmq.com/html5/input.shtml

<table>: 表要素 - HTML: HyperText Markup Language | MDN
https://developer.mozilla.org/ja/docs/Web/HTML/Element/table

【HTML】tableによる表の作り方・コンプリートガイド
https://code-kitchen.dev/html/table/

 

テストに使ったWebフォームサンプルのHTMLソース

  • ほぼリファレンスの継ぎ接ぎです。
  • 投稿欄の仕様を踏まえ、タブ文字を全角スペースに置き換えました。
  • 全角スペースはタブ文字か半角スペース4つに適宜戻して使ってください。

<html>

<head>
 <meta charset="utf-8"/>
 <title>設定フォーム</title>
</head>

<body>

 <form>
 ※ 1行テキストの欄は、name次第でオートコンプリートが機能してくれる
  <table>
   <tr><td colspan="3"><hr></td><tr>
   <tr>
    <td>■ テキスト</td>
    <td></td>
    <td></td>
   </tr>
   <tr>
    <td>テキスト1</td>
    <td><input type="text" name="n_text1" value="デフォルト表示させるテキスト" size="30"></td>
    <td></td>
   </tr>
   <tr>
    <td>テキスト2</td>
    <td><input type="text" name="n_text2" value="デフォルト表示させるテキスト" size="30"></td>
    <td></td>
   </tr>
   <tr>
    <td>パスワード</td>
    <td><input type="password" name="n_password" value="12345678"></td>
    <td>正しい値で取得可能</td>
   </tr>
   <tr>
    <td>数字</td>
    <td><input type="number" name="n_number" value="100"></td>
    <td>IEでは↑↓が利かない</td>
   </tr>
   <tr>
    <td>ファイル</td>
    <td><input type="file" name="n_file"></td>
    <td>ファイルはデフォルト値表示不可</td>
   </tr>
   <tr>
    <td>複数ファイル</td>
    <td><input type="file" multiple name="n_files"></td>
    <td>IE:カンマ区切りで取得される<br>
    Chrome:先頭ファイルのみが取得される</td>
   </tr>
   <tr>
    <td>リスト</td>
    <td>
     <select name="n_select">
      <option value="value1">選択肢1</option>
      <option value="value2">選択肢2</option>
      <option value="value3">選択肢3</option>
     </select>
    </td>
    <td></td>
   </tr>
   <tr>
    <td>複数行テキスト</td>
    <td>
     <textarea name="n_textarea">
表示させたいテキスト
表示させたいテキスト
     </textarea>
    </td>
    <td></td>
   </tr>
   <tr><td colspan="3"><hr></td><tr>
   <tr>
    <td>■ 日付と時間</td>
    <td>IEはtype="text"相当</td>
    <td>Chromeで取得される書式</td>
   </tr>
   <tr>
    <td>日付</td>
    <td><input type="date" name="n_date"></td>
    <td>YYYY-MM-DD</td>
   </tr>
   <tr>
    <td>年月</td>
    <td><input type="month" name="n_month"></td>
    <td>YYYY-MM</td>
   </tr>
   <tr>
    <td>週</td>
    <td><input type="week" name="n_week"></td>
    <td>YYYY-W00</td>
   </tr>
   <tr>
    <td>日時</td>
    <td><input type="datetime-local" name="n_datetime-local"></td>
    <td>YYYY-MM-DDThh:mm</td>
   </tr>
   <tr>
    <td>時間</td>
    <td><input type="time" name="n_time"></td>
    <td>hh:mm</td>
   </tr>
   <tr><td colspan="3"><hr></td><tr>
   <tr>
    <td>■ ラジオボタン/チェックボックス</td>
    <td></td>
    <td>True/Falseが取得される</td>
   </tr>
   <tr>
    <td>択一</td>
    <td>
     <label><input type="radio" name="n_radio" value="01">AAA</label> 
     <label><input type="radio" name="n_radio" value="02">BBB</label> 
     <label><input type="radio" name="n_radio" value="03">CCC</label>
    </td>
    <td></td>
   </tr>
   <tr>
    <td>複数選択</td>
    <td>
     <label><input type="checkbox" name="n_checkbox" value="1">あああ</label> 
     <label><input type="checkbox" name="n_checkbox" value="2">いいい</label> 
     <label><input type="checkbox" name="n_checkbox" value="3">ううう</label>
    </td>
    <td></td>
   </tr>
   <tr><td colspan="3"><hr></td><tr>
   <tr>
    <td>■ その他</td>
    <td>type="text"相当の使い勝手</td>
    <td></td>
   </tr>
   <tr>
    <td>電話番号</td>
    <td><input type="tel" name="n_tel"></td>
    <td>スマホ等で数字キーボードが表示される</td>
   </tr>
   <tr>
    <td>URL</td>
    <td><input type="url" name="n_url"></td>
    <td>submitでフォーマットのチェックが走る</td>
   </tr>
   <tr>
    <td>メール</td>
    <td><input type="email" name="n_email"></td>
    <td>submitでフォーマットのチェックが走る</td>
   </tr>
   <tr>
    <td>検索</td>
    <td><input type="search" name="n_search"></td>
    <td></td>
   </tr>
   <tr>
    <td colspan="3">
     <input type="submit" value="submit">
     <input type="reset" value="reset">
    </td>
   <tr>
  </table>
  
 </form>
 
</body>

</html>

anothersolution 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。