document.getElementById('idname')。value只在打印时返回[object HTMLInputElement]

时间:2014-10-15 09:59:23

标签: javascript web-scraping tampermonkey

所以我正在使用一个Tamper-monkey脚本,它将为文本刮取单个页面,返回页面上3个按钮的值(pick_0,选择_1和pick_2)并将其打印在页面下方的框中。它比这复杂得多,但说实话,我只是想让它首先阅读愚蠢的价值观。

所以是的,杀死我的是它没有正确地抓住这些值,我不知道它是否是它获取元素的方式,或者是它获取页面的方式。

此外,每当我在任何网站上找到答案时,他们都会指定应添加“.value”来修复它。所以我处于死胡同,因此这个问题被发布了。

一位朋友给了我页面抓取代码,这是我担心可能无法正常工作的代码。但是我在Stack Overflow上尝试过其他几个,但无济于事。 注意:TamperMonkey脚本设置为仅在我需要抓取的特定页面上运行,因此他没有在代码中真正指定它。

function getLink(url) {
    return $.ajax(
        {
            type: 'GET',
            async: true,
            url:  url,
        });     
}   

我的变数:

function inputs() {
    var pick_0b = document.getElementById('pick_0').value;
    var pick_1b = document.getElementById('pick_1').value;
    var pick_2b = document.getElementById('pick_2').value;
}

它的打印部分工作正常,它可以打印一个类似语法的虚拟变量。但是,是的,每当我试图打印其中一个人时,我只要么得到这两个中的一个。

undefined

[object HTMLInputElement] 

帮助? 编辑:按钮本身的HTML是:

<tr><td class="centered"><input type="submit" name="pick_0" value="longass string of randomized text here"  class="button" id="pick_0" /></td></tr>
<tr><td class="centered"><input type="submit" name="pick_1" value="longass string of secondary random text here"  class="button" id="pick_1" /></td></tr>
<tr><td class="centered"><input type="submit" name="pick_2" value="longass third string of random text here"  class="button" id="pick_2" /></td></tr>

1 个答案:

答案 0 :(得分:0)

function inputs() {
    var pick_0b = document.getElementsByName('pick_0');
    var pick_1b = document.getElementsByName('pick_1');
    var pick_2b = document.getElementsByName('pick_2');
}


访问:


alert(pick_0b[0].value);

这些都可以吗?


function inputs() {
    var pick_0b = document.getElementsByName('pick_0');
    var pick_1b = document.getElementsByName('pick_1');
    var pick_2b = document.getElementsByName('pick_2');

    alert(pick_0b[0].value);
}



var pick_0b = ""
var pick_1b = ""
var pick_2b = ""

function inputs() {
    document.getElementsByName('pick_0');
    document.getElementsByName('pick_1');
    document.getElementsByName('pick_2');
}

alert(pick_0b[0].value);

编辑:您现在可能已修复此问题,但如果没有......

我再次查看了你的pastebin文件...如果tampermonkey和你的元数据块一样有问题,你可能会对你的元数据块产生问题 - 尝试将第二列排成一行。

此致:

// ==UserScript==
// @name       Result Reader
// @namespace  tarakore.com
// @version    1.0
// @description  Stupid description goes here.
// @match      http://www.(removedurl).com/game/* //Url removed because the site in question wouldn't want attention from this post.
// @copyright  2014+ Tarakore/Katiki
// @grant   GM_xmlhttpRequest
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
// ==/UserScript==

可能已修复:

// ==UserScript==
// @name         Result Reader
// @namespace    tarakore.com
// @version      1.0
// @description  Stupid description goes here.
// @match        http://www.(removedurl).com/game/* 
// @copyright    2014+ Tarakore/Katiki
// @grant        GM_xmlhttpRequest
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
// ==/UserScript==

另外,您可以尝试删除版权行。