通过shell脚本按下一个html按钮?

Sha*_*abu 2 shell scripting html

我目前正在尝试编写一个脚本来通过 shell 脚本更改网页上的一些参数。我可以毫无问题地更改文本框中的值,但我似乎无法弄清楚如何“按下”应用按钮。

这就是我更改值的方式,如您所见,我需要最后一次“应用”按钮。

setJitterDelay()
{
    rate=${1}
    if [ "${rate}" == "low" ]; then
            ((htmlJitterNegDelta = 5))
            ((htmlJitterPosDelta = 5))
            ((htmlJitterDelayMax = 10))
            jDelta=5
    else
            if [ "${rate}" == "med" ]; then
                    ((htmlJitterNegDelta = 25))
                    ((htmlJitterPosDelta = 25))
                    ((htmlJitterDelayMax = 50))
                    jDelta=25
            else
                    if [ "${rate}" == "high" ]; then
                            ((htmlJitterNegDelta = 50))
                            ((htmlJitterPosDelta = 50))
                            ((htmlJitterDelayMax = 100))
                            jDelta=50
                    else
                            echo "error: low, med, high not selected! Skipped..."
                            return
                    fi
            fi
    fi
    ### APPLY BUTTON
}
Run Code Online (Sandbox Code Playgroud)

我使用 Firebug 来了解我必须更改哪些值,Apply 按钮显示:

  <input id="appFlowBw" type="submit" value="Apply" name="appFlowBw">
<form action="http://wanemu/XGEM_REV_BW_FLOW?blade=1&profile=0" method="post" name="rev_bw_form"></form>
Run Code Online (Sandbox Code Playgroud)

输入在源代码的表单中:

             <TR>
          <TD colspan="8"></TD>
          <TD><INPUT type="submit" name="appFlowBw" id="appFlowBw" value="Apply" disabled></TD>
      </FORM>
Run Code Online (Sandbox Code Playgroud)

但我不知道我现在如何“按下”这个按钮。

我希望你能理解我的问题并能提供帮助。

//编辑:添加表单

rep*_*lay 6

按下这个按钮只会让浏览器向服务器提交一个 POST 请求,连同相应表单的所有值作为请求正文中的有效负载。

因此,如果您希望在 shell 脚本中重现此点击的效果,您需要做的是以 POST 请求中传递的格式构建数据,然后向服务器提交 POST 以模拟按钮的按下.

使用 应该很容易做到这一点curl,就像这里描述的那样:执行 POST 请求的 cURL 命令行语法是什么?

例子:

curl --data "param1=value1&param2=value2" http://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)