通过 shell 脚本按下 html 按钮?

通过 shell 脚本按下 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
}

我使用 Firebug 来了解我必须更改哪些值,“应用”按钮显示如下:

  <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>

输入位于源代码中的表单内:

             <TR>
          <TD colspan="8"></TD>
          <TD><INPUT type="submit" name="appFlowBw" id="appFlowBw" value="Apply" disabled></TD>
      </FORM>

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

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

//编辑:添加表单

答案1

按此按钮只会导致浏览器向服务器提交 POST 请求,以及相应表单的所有值作为请求正文中的有效负载。

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

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

例子:

curl --data "param1=value1&param2=value2" http://example.com/resource.cgi

相关内容