Я пытаюсь написать небольшой Python -скрипт, который открывает / загружает контент с веб-сайта (без браузера) и изменяет значения на веб-сайте. Веб-сайт был явно написан для графического пользовательского ввода через веб-браузер, однако теперь мне нужно изменить эти значения автоматически и не могу изменить эти настройки вручную.
Ниже вы можете найти примеры фрагментов для соответствующих HTML и javascript код, который изменяет значения домашней страницы. Я извлек этот код через «инспектор кода» и не имею доступа к ним.
Веб-сайт работает локально в моей сети через http: \ *. . . *: 8080. где . . . - мой IP, а 8080 - порт (оба фиксированные).
Я предполагаю, что следующая строка необходима, однако мне неясно, как чтобы воспроизвести это с помощью Python:
$.ajax(root+'/settings/' + control + '?set='+val).fail(display_error('cannot_set', control));
Я искал несколько Python пакетов, таких как flask, http, request, однако я не нашел хорошего ответа, как может быть моя проблема решен.
В конце я хотел бы иметь метод Python с простым вызовом аргумента, близким к следующему:
def change_crop_x(val):
# Here needs to be the python code I'm unsure of
return True # True if value was succesfully changed
Любая помощь будет очень признательна.
Best, Florian
<div class="form-group" id="crop_host">
<label class="col-xs-3 control-label">Crop</label>
<div class="col-xs-4">
<label class="col-xs-2 nopadding" for="range_crop_x">X:</label> <input class="col-xs-10" id="range_crop_x" type="range" min="0" max="100" value="50"/>
</div>
<div class="col-xs-4">
<label class="col-xs-2 nopadding" for="range_crop_y">Y:</label> <input class="col-xs-10" id="range_crop_y" type="range" min="0" max="100" value="50" />
</div>
</div>
Пример содержимого для изменения
var crops = ["crop_x", "crop_y"]
var crop_holders = []
for (i in crops) {
var control = crops[i]
crop_holders.push({
val: get_val('#range_'+control),
id: -9999,
upd: function(val) {},
cmd: function(control){ return function(val) {
if (val == 0) {
val = 1;
}
$.ajax(root+'/settings/' + control + '?set='+val).fail(display_error('cannot_set', control));
}} (control)
})
}
if (config.curvals.crop_x != undefined) {
$('#range_crop_x')
.val(config.curvals.crop_x)
.change(scheduleUpdateW(crop_holders[0]));
$('#range_crop_y')
.val(config.curvals.crop_y)
.change(scheduleUpdateW(crop_holders[1]));
} else {
$('#crop_host').hide()
}