await をつけるとメソッドチェーンが使えなくなるのですが、
なんとか1行で書く方法を探しています。
下記のurlの値を作成するプロセスを1行にしたいです。
しかし、url2ではエラーが発生します。
Node.js
1 2const puppeteer = require('puppeteer'); 3(async() => { 4 const browser = await puppeteer.launch(); 5 const page = await browser.newPage(); 6 await page.goto('https://abc.com', {waitUntil: "networkidle2"}); 7 8 var urlData = await page.$$eval('a', tag => tag.map(data => data.innerText)); 9 var url = accessData.join(" \n “); 10 var url2 = await (()=>{ 11 return page.$$eval('a', tag => tag.map(data => data.innerText)) 12 .join(" \n "); 13 })();//エラー 14 15 console.log(“url:”+url); 16 console.log(“url2:”+url2); 17 browser.close(); 18})();
url2は、
(node:21952) UnhandledPromiseRejectionWarning: TypeError: page.$$eval(...).join is not a function
こちらのエラーが発生します。
1行で書く方法はないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。