DesktopのアクションとしてWebページでJavaScriptを実行したかったのですが、引数を渡す方法に癖があったので備忘録としてまとめます。今後改善されるかもしれませんし、このやり方が最適な方法ではないかもしれませんのでそこはご了承ください。[ad01]目次WebページでJavaScript関数を実行するアクション変数の型によって渡し方が異なるテキストの場合はシングルクオーテーションで囲む数値の場合は特に何も加工しなくても渡せるブール値の場合は小文字にして渡すリストの場合は文字列結合してから渡すテーブルの場合は行方向と列方向それぞれテキスト結合するカスタムオブジェクトの場合はJSONテキストに変換してから渡すということでWebページでJavaScript関数を実行するアクションWebフォーム入力のアクションにあります。単独でも動きますが変数を使えば引数として渡すことができます。このアクションはブラウザを事前に起動しておく必要がありますので「新しい(ブラウザ)を起動する」のアクションでブラウザを立ち上げないとエラーになります。Desktopで用意されている型は以下の通りです。タイプをすべて確認します。}%仕様なのか不具合なのか分かりませんが、型によって渡し方が異なっていました。Desktopの変数は%%で囲うことで使用できます。これはJavaScript内でも一緒です。テキストの場合はJavaScript関数内でシングルクオーテーションで囲うことで認識してもらえます。以下のフローは、ブラウザを起動して変数にappleをセットし、Javascriptに渡してそのままreturnしているだけです。Javascriptのreturnでは%NewVar%を''で囲っています。結果がそのまま返ってきているのでJavaScriptに引数を渡せたことが分かります。Desktopにコピペすると確認できます。Result数値の場合は特に何も加工しなくても渡せる数値の場合はそのまま%%の記述で渡せます。Desktopの真偽値はTrueとFalseで持っており、これをそのままJavaScriptすとundefinedとなって渡せませんでした。全て小文字にすると渡せるようなので「テキストの文字の大きさを変更」のアクションで小文字に変換してから渡します。Resultリストの場合は文字列結合してから渡すリストを%List%のようにそのまま渡しても何故か1つ目の値しか渡せません。%List[0]%と同じになってしまいます。文字列にすると何故か渡せるので結合するアクションを追加します。数値のリストと文字のリストでは若干異なるのが注意です。数値だけのリストでは「テキストの結合」アクションで区切り文字を,とします。JavaScript関数内では[]で囲みます。Result文字だけのリストでは「テキストの結合」アクションでで区切り文字を','とします。JavaScript関数は['']で囲みます。数値とは異なりシングルクオーテーションがついてます。Result数値と文字が混ざっているリストでは'%List[0]%,'%List[1]%',%List[2]%'のようにLoopなどで力技でやる方法しか見つけられませんでした。テーブルの場合は行方向と列方向それぞれテキスト結合するテーブルもリストと同様に%Table%のように書いても反応しませんのでテキスト結合で回避します。リストと異なり2次元配列となっているため、2回テキスト結合させます。Eachでまわすと1レコードはリスト型ではなくテーブル行の型になります。テーブル行型は何故か「テキストの結合」アクションがうまく適用されず、区切り文字がすべてカンマになってしまうので数値は渡せますが文字列を渡せません。テーブルは数字と文字が混ざる場合が多く「テキストの結合」が使いづらいです。そこで力技で回避します。5アクション目で1行のレコードをテキスト結合するのですが、テキストはシングルクオーテーションで囲み、数値は囲まないように列ごとに調整しています。7アクション目でテキストとなったレコードを結合します。Resultカスタムオブジェクトの場合はJSONテキストに変換してから渡すカスタムオブジェクトもそのまま渡せないので「カスタムオブジェクトをJSONに変換」アクションでテキストにしてから渡します。Resultということで型によって渡し方がここまで異なると不便極まりないので、おそらくこれらの現象は不具合だと信じたいです...。Pythonスクリプトの実行でも同じ課題がありそうですね。WebのUI要素を文字列で探すWebのUI要素を取得する最も簡単な方法はWebレコーダーを利用することです。右ペインのUI要素から「UI要素の追加」で取得する方法もあります。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Δスポンサーリンク[ad01]プロフィールパパセンセイ新潟でExcelを眺めるお仕事をしています。週末はだいたいどこかの温泉に浸かってます。パパセンセイ365.ホーム検索トップサイドバ。