2016-08-30 6 views
1

実行するたびにエラーが発生するコードは次のとおりです。getElementsByTagName( "body")を使用できません

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;

である:私の目標は、URLからコンテンツをスクラップすべてのHTMLを削除し、それを返すことです残念ながら

Bargle. We hit an error creating a run javascript. :-(Error: TypeError: body.getElementsByTagName is not a function eval (eval at (/var/task/index.js:52:23), :16:24) process._tickDomainCallback (node.js:407:9)

+0

「zapier」は分かりませんが、スタックトレースからはその機能を認識できないようです。あなたはPhantom.jsのようなヘッドレスブラウザでNode.jsからクライアントサイドJSを実行することができます。 – DrakaSAN

+0

残念ながら、スクリプト環境は提供するものだけに制限されています。 Phantom.jsやその他のnpmパッケージは使用できません。 –

答えて

1

- Zapierトリガーやアクションによるコード内にJS DOM APIはありません(これはブラウザーでは実行されず、偽装するために必要なライブラリーがインストールされていないためです)。

Pythonではなく、https://docs.python.org/2/library/xml.etree.elementtree.htmlを参照してください。まともな質問と回答がここにありますPython Requests package: Handling xml response。がんばろう!

0

Zapierでサポートされていない関数はすべてTypeErrorになります。私はこれを達成するために正規表現を使用する必要がありました。

関連する問題