メモ。
文章やスライド作成時に出典として書籍情報を記載するときなど、できるだけ手間なくAmazonの商品ページから書名、著者名、ASINを取得したい。JavaScriptでの抽出時、書名とASINはページ内に一件なので文字列化が簡単。
title = document.getElementById("productTitle").innerText.trim()
asin = document.getElementById('all-offers-display-params').getAttribute('data-asin'),
だけど、著者は複数いることもあるので、一人分ずつ文字列化してから連結することになる。配列関数を使えばよさそうと思うけど、実際はもうひと手間必要になる。
- 該当部分をgetElementsByClassNameで取得する。この時点ではHTMLColection型。
- Array.from(htmlCollection)で配列化する。
- mapで文字列を抜き出し、joinで連結する
こんな感じ。
authors=Array.from(documen.getElementsByClassName("author")).map(e=>e.outerText.trim()).join('')
…というのをいつも忘れるので、メモっておく。