управление переключателями HTML с помощью curl (скрипт bash) - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь сделать этот базовый сценарий bash, который нажимает кнопки-переключатели с веб-страницы.Я видел много других связанных вопросов, но ни один из них не является точно таким же.

Вот код переключателя со страницы.

< input id="vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:ANT1" name="vars_scu_nplus1_sysctrl_B_ANTENNA" value="ANT1" onclick="dataTransporter.save(this);" onfocus="dataTransporter.lockField(this);" onblur="dataTransporter.unlockField(this);" style="border:0" type="radio" >1

< input id="vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:ANT2" name="vars_scu_nplus1_sysctrl_B_ANTENNA" value="ANT2" onclick="dataTransporter.save(this);" onfocus="dataTransporter.lockField(this);" onblur="dataTransporter.unlockField(this);" style="border:0" type="radio">2

< input id="vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:ANT3" name="vars_scu_nplus1_sysctrl_B_ANTENNA" checked="checked" value="ANT3" onclick="dataTransporter.save(this);" onfocus="dataTransporter.lockField(this);" onblur="dataTransporter.unlockField(this);" style="border:0" type="radio" >3

< input id="vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:DMLD" name="vars_scu_nplus1_sysctrl_B_ANTENNA" value="DMLD" onclick="dataTransporter.save(this);" onfocus="dataTransporter.lockField(this);" onblur="dataTransporter.unlockField(this);" style="border: 0px none;" type="radio" >DLoad   

Как мне установить флажок = = флажок?"to id =" vars_scu_nplus1_sysctrl_B_ANTENNA: 0: RBOX: null: null: ANT3 "?

curl -d" что-то здесь "pageurl

РЕДАКТИРОВАТЬ: Это то, что происходит, если я иду и нажимаюПереключатель ANT3 вручную.

q={"version": 1, "data": {"state": 200, "value":[{"ident": "vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null", "add": "ANT3", "value": "ANT3"}]}}&i=frontpanel&l=en_GB

Я закодировал это в:

q%3D%7B%22version%22%3A%201%2C%20%22data%22%3A%20%7B%22state%22%3A%20200%2C%20%22value%22%3A%5B%7B%22ident%22%3A%20%22vars_scu_nplus1_sysctrl_B_ANTENNA%3A0%3ARBOX%3Anull%3Anull%22%2C%20%22add%22%3A%20%22ANT3%22%2C%20%22value%22%3A%20%22ANT3%22%7D%5D%7D%7D%26i%3Dfrontpanel%26l%3Den_GB

.. и добавил это к правому URL, но вместо получения ответа:

{"version":3,"data":{"state":200,"value":[{"ident":"vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null","value":"ANT3","add":"ANT3"}]}}

.. Я получаю только:

{"version":3,"data":{"state":200,"value":[]}}

Отсутствует значение, в котором указано изменение, которое я пытаюсь сделать здесь.

Должен ли я что-то с этим сделать?:

onclick="dataTransporter.save(this);" onfocus="dataTransporter.lockField(this);"

Что я тоже пробовал:

curl -L -b ./cookie.txt -d vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:ANT3="1" http://"$SERVER"/"$URL" -o ./output.txt


curl -L -b ./cookie.txt -d vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:ANT3="ANT3" http://"$SERVER"/"$URL" -o ./output.txt


curl -L -b ./cookie.txt -d vars_scu_nplus1_sysctrl_B_ANTENNA:0:RBOX:null:null:ANT3="checked" http://"$SERVER"/"$URL" -o ./output.txt

Ни одна из этих работ.Радиокнопка никогда не будет нажата.Output.txt всегда один и тот же, где всегда проверяется переключатель DMLD.

Любая помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...