私の Greasemonkey のようなスクリプトでは、Amazon.co.uk で https ページを読み込んでおり、リンクされたページに商品の価格を表示したいと考えています。
私がこれまでやってきたこと:
var prodLinks = $("td.product_description a:contains('View Amazon Product Page')");
if (prodLinks.length) {
var iframeSrc = prodLinks[0].href;
iframeSrc = iframeSrc.replace (/http:\/\//, "https://")
$("body").append ('<iframe id="gmIframe" src="' + iframeSrc + '"></iframe>');
$("#gmIframe").css ( {
"position": "absolute",
"bottom": "1em",
"left": "2em",
"height": "25%",
"width": "84%",
"z-index": "17",
"background": "#00FF00"
} );
}
このアプローチの問題点は、うまくいくこともありますが、iFrame のコンテンツが雑然としているため、必要なものが一目でわかりません。
すぐに見たいもの: £2.85
リンクされたページがhttps://www.amazon.co.uk/gp/product/B001AM72BM/
前述のページからの関連する HTML スニペット:
<tr id="actualPriceRow">
<td id="actualPriceLabel" class="priceBlockLabelPrice">Price:</td>
<td id="actualPriceContent"><span id="actualPriceValue"><b class="priceLarge">£2.85</b></span>
<span id="actualPriceExtraMessaging">
正確には、価格のみが表示されるように iFrame を解析するにはどうすればよいですか? (または、そうでない場合は、ページのごく一部)
この例で表示したい重要な情報は、£2.85です。
背景:Greasemonkeyに似たものを使用しています
これは Fluid.app の Greasekit 用です(これは非常に古いですが、使用する必要があります)。グリースキットと非常に似ているため、おそらくそれを知る必要さえありません。したがって、この質問の目的のために、そうであるふりをすることができます.
ノート
ソースページと iFrame ページはどちらもhttps://amazon.co.uk * です。具体的にはログインが必要になるため、リンクできません。
必要に応じて、ドロップボックスのページのミラーにアクセスできます。明らかに、同一オリジン ポリシーのため、このミラーでは機能しない可能性があります。