Node.js定义文档对象。

7

你好,我正在尝试使用Node.js在服务器端运行一个JS函数,但遇到了问题。该函数使用document dom来访问返回的HTML中的一些隐藏值,而在Node.js上,document未定义,有没有办法定义document对象?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" />

  <title></title>
</head>

<body>
  <form id="sbb_KoNkmwM" method="post" style="display:none" name="sbb_KoNkmwM">
    <input name='sbb_BQGUL' type='checkbox' value='IbNlk' /><input name='sbb_BQGUL' type=
    'checkbox' value='huTi' /><input name='sbb_BQGUL' type='checkbox' checked="checked"
    value='qGx' /><input name='sbb_BQGUL' type='checkbox' value='WGrkKwxP' /><input name=
    'sbb_BQGUL' type='checkbox' value='tgQHP' /><input name='sbb_BQGUL' type='checkbox'
    value='dDrn' />
  </form>

 function sbb_kVnTj() {
    var data = 'ZmdiRlhjdQ==';
    var rEda = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
    ac = 0,
    dec = "",
    tmp_arr = [];
    do {
        h1 = rEda.indexOf(data.charAt(i++));
        h2 = rEda.indexOf(data.charAt(i++));
        h3 = rEda.indexOf(data.charAt(i++));
        h4 = rEda.indexOf(data.charAt(i++));
        bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
        o1 = bits >> 16 & 0xff;
        o2 = bits >> 8 & 0xff;
        o3 = bits & 0xff;
        if (h3 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1);
        } else if (h4 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1, o2);
        } else {
            tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
        }
    } while ( i < data . length );
    dec = tmp_arr.join('');
    return dec.substr(6, 1);

}
function sbb_MHVY() {
    function sbb_iSH(objArr) {
        var ts = '';
        for (i = 0;
....

不清楚你想要做什么。你是想将sbb_kVnTj函数作为服务器端函数来运行吗? 另外,你在哪里使用document?在你发布的代码中没有看到它。请编辑你的问题,包括一个高级别的描述你想做什么以及你如何尝试实现它 - apsillers
@apsillers 抱歉,返回的 JavaScript 和 ID 是随机的,这是一种保护措施。是的,我正在尝试运行 sbb_kVnTj,它也是一个随机创建的名称,它将返回一个字符,并且包括一些在不同时间请求不同 ID 的 document.getgetElementById()。因此,没有合理的解决方法,只能将其作为 JavaScript 运行。 - Evan
1个回答

4

jsdom与实际的DOM对象相比,其功能非常有限。 - Mohal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接