ввод данных в javascript на веб-странице htm

#javascript #bash #curl #webpage

#javascript #bash #curl #HTML

Вопрос:

Языки программирования — не моя сильная сторона, поэтому, пожалуйста, извините за все невежественное, что я говорю.

Мне нужно ввести данные на веб-страницу, которая запускает javascript для анализа данных, которые я предоставляю… проблема в том, что у меня несколько сотен пользователей, а веб-страница работает только по одному человеку за раз. вот страница http://www.hprg.com/hapest5/hapest5b/hapest5.htm

Как я мог бы использовать терминал (или что-нибудь еще) для итеративной загрузки каждого набора данных на страницу и получения результатов.

Я пробовал curl и wget в соответствии с этим… https://journalxtra.com/linux/bash-linuxsanity/bash-filling-web-forms-with-curl-and-wget / … использование formfind amp; wget / curl, но я думаю, что это не работает с вводом javascript.

Вот пример желаемого ввода.

Строка ввода: 13,21,15,11,0,0,0,0,11,13,11,30,16,0,0,0,0,0,14,21,0,0,0,0,0,0,22,0,0,15,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Никаких дополнительных аллелей; Разделитель = запятая

Я использую iMac (конец 2015 года) с macOS Sierra.

Ответ №1:

Я написал javascript, который может помочь хотя бы немного автоматизировать то, что вы пытаетесь сделать.

 var inputStringArray = ['13,21,15,11,0,0,0,0,11,13,11,30,16,0,0,0,0,0,14,21,0,0,0,0,0,0,22,0,0,15,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0', '10001', '0'];

function setInputString(newInputStr) {
    document.getElementById('haplotype').value = '';
    document.getElementById('haplotype').value = newInputStr;
}

function getResultData() {
    var rowArray = document.querySelectorAll('#results tr'),
        i, dataObj = {},
        rowNode;
    for (i = 0; i < rowArray.length; i  ) {

        if (i > 0) {
            rowNode = rowArray[i].childNodes;
            dataObj[rowNode[0].innerText] = {
                fitness_score: rowNode[1].innerText,
                probability: rowNode[2].innerText
            }
        }
    }  
    return dataObj;
}

function execute(inputStringArray) {
    var i, resultData = {};

    for (i = 0; i < inputStringArray.length; i  ) {
        setInputString(inputStringArray[i]);
        parse();
        resultData[inputStringArray[i]] = getResultData();
    }
    console.log(resultData);
    resultData = null;
}

execute(inputStringArray);
  

По сути, единственное, что вам нужно изменить в скрипте, — это значения в ‘inputStringArray’. Вы должны ввести столько входных строк, сколько хотите (входные строки должны быть заключены в одинарные кавычки и разделены запятой).

Откройте Google Chrome и нажмите кнопку F12 на клавиатуре, чтобы ввести инструменты разработчика Chrome и перейти на вкладку «Консоль»: https://developers.google.com/web/tools/chrome-devtools/inspect-styles/shortcuts

Оказавшись на экране консоли, вставьте скрипт снизу и замените строки в inputStringArray, затем нажмите enter. Вы должны увидеть объект javascript, напечатанный в консоли с результатами, которые вы ищете. Результаты будут выглядеть следующим образом: Пример форматированных данных

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