91509


今開発中のウェブアプリにおいて、API ではない、ブラウザ上のページ遷移の一貫で(他サイトから) POST
リクエストが送られてくるので、それを受け取って、かつ画面表示するようなページを作成しようとしています。この機能のために、 POST
リクエストを再現したいと思っているのですが、ふとどうやるか分からないので質問です。

# 質問

ブラウザ(firefox か chrome)に、 POST リクエストでのページ遷移を行わせることができるツールや機能などはありますか? POST なので、
url と `application/x-www-form-urlencoded` としてエンコードされるフォームデータを入力して、ブラウザ上に実際に
POST でそのページを見にいくようなことがやりたいと思っています。


CC BY-SA 4.0
2022-10-07T09:43:25.390
91485
2022-10-09T14:13:09.623
2022-10-09T14:13:09.623
3054
754
question
javascript html google-chrome http firefox
ブラウザ上でテスト的な POST リクエストを実行したい


いまいち質問のコンテキストが読み取れず…

  * [Selenium WebDriver](https://www.selenium.dev/ja/documentation/webdriver/)
  * [Power Automate Desktop](https://powerautomate.microsoft.com/ja-jp/robotic-process-automation/)

みたいなものを求めているのでしょうか？ 違っていたら、何を必要としているのかを明確にしてください。


CC BY-SA 4.0
2022-10-09T08:39:42.457
91506
2022-10-09T08:39:42.457
4236
91485
answer


専用の機能は無さそうですが、コンソールでは可能です。以下、あたり前の話な気もしますが、長めのコードをコンソールに貼り付ける発想が無い方も居そうなので、一応回答とします。

  * 遷移元のページ（Referer などを気にしないならどこでもよい）を開く
  * 開発者ツールのコンソールを開く
  * フォームの作成や [`submit()`](https://developer.mozilla.org/ja/docs/Web/API/HTMLFormElement/submit) / [`requestSubmit()`](https://developer.mozilla.org/ja/docs/Web/API/HTMLFormElement/requestSubmit)を行なうコードを貼り付けて実行

コード例 1（スタック・オーバーフローの検索ページに Post で遷移）:

[code]

    document.body.insertAdjacentHTML("beforeend", `
        <form id="TEST_FORM" action="https://ja.stackoverflow.com/search" method="post">
            <input type="text" name="q" value="テスト" />
        </form>
    `)
    document.getElementById("TEST_FORM").submit()
    
[/code]

コード例 2（上とほぼ同じで、要素の挿入まで）:

[code]

    document.body.insertAdjacentHTML("beforeend", `
        <form id="TEST_FORM" action="https://ja.stackoverflow.com/search" method="post">
            <input type="text" name="q" value="テスト" />
            <button type="submit">送信</button>
        </form>
    `)
    
[/code]

これは普通にブラウザ上のフォームを操作する必要が有ります。遷移元ページの構造やスタイルによりますが、だいたい末尾にフォームが表われるはずです。


CC BY-SA 4.0
2022-10-09T10:47:01.030
91509
2022-10-09T10:47:01.030
3054
91485
answer