【问题标题】:data input to javascript on htm webpage数据输入到 html 网页上的 javascript
【发布时间】:2017-02-27 16:41:03
【问题描述】:

编码语言不是我的强项,所以请原谅我所说的任何无知。

我需要将数据输入到运行 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 和 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

没有额外的等位基因;分隔符=逗号

我正在使用带有 macOS Sierra 的 iMac(2015 年末)。

【问题讨论】:

    标签: javascript bash curl webpage


    【解决方案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 对象。结果将如下所示:

    此脚本仅针对您在问题中提供的链接在控制台中运行。随意编辑脚本,但您认为合适。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多