无法使用getElementsByTagName(“body”)

时间:2016-08-30 20:13:09

标签: node.js zapier

以下是每次运行时都会导致错误的代码。我的目标是从网址中删除内容,删除所有HTML,然后将其返回:

console.log("Fetching: " + inputData.tweeturl);
fetch(inputData.tweeturl)
  .then(function(res) {
    return res.text();
  }).then(function(body) {
    var rawText = body.getElementsByTagName("body")[0].innerHTML;
    var output = { id: 100, rawHTML: body, rawText: rawText };
    callback(null, output);
  })
  .catch(callback);

问题在于var rawText = body.getElementsByTagName("body")[0].innerHTML;

我收到的错误是:

  

Bargle。我们在创建运行javascript时遇到错误。 :-(错误:   TypeError:body.getElementsByTagName不是函数eval(eval at(/var/task/index.js:52:23),:16:24)process._tickDomainCallback(node.js:407:9)

2 个答案:

答案 0 :(得分:1)

不幸的是 - Zapier触发器或操作代码中没有JS DOM API(因为它不能在浏览器中运行,并且没有安装必要的库来伪造它)。 / p>

你可能会看一下Python而不是https://docs.python.org/2/library/xml.etree.elementtree.html。这里提供了体面的问答,Python Requests package: Handling xml response。祝你好运!

答案 1 :(得分:0)

Zapier不支持的任何函数都会导致TypeError。我需要使用正则表达式来实现这一点。