编码语言不是我的强项,所以请原谅我说的一切无知。
我需要将数据输入到运行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
没有额外的等位基因;隔板=逗号
我使用iMac(2015年末)与macOS Sierra。
答案 0 :(得分:0)
我写了一个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);
基本上,您需要在脚本中更改的唯一内容是&#39; inputStringArray&#39;中的值。您应该输入任意数量的输入字符串(输入字符串应该用单引号括起来并用逗号分隔)。
打开Google Chrome并按键盘上的F12按钮进入Chrome开发者工具并导航到“控制台”标签&#39;:https://developers.google.com/web/tools/chrome-devtools/inspect-styles/shortcuts
进入控制台屏幕后,从下面粘贴脚本并替换inputStringArray中的字符串,然后按Enter键。您应该在控制台中看到一个javascript对象,其中包含您要查找的结果。结果将如下所示:
此脚本仅用于在您的问题中提供的链接的控制台中运行。您可以随意编辑脚本。