diff --git a/brozzler/behaviors.yaml b/brozzler/behaviors.yaml index 28cceba..0a3d3c0 100644 --- a/brozzler/behaviors.yaml +++ b/brozzler/behaviors.yaml @@ -25,9 +25,11 @@ url_regex: '^https?://(?:www\.)?instagram\.com/.*$' behavior_js_template: umbraBehavior.js.j2 default_parameters: + interval: 500 + skip_iframes: true actions: - - selector: a.coreSpriteDismissLarge - - selector: a>div[role='button'] + - selector: button.coreSpriteDismissLarge + - selector: 'a>.eLAPa>.KL4Bh' firstMatchOnly: true - selector: a.coreSpriteRightPaginationArrow repeatSameElement: true diff --git a/brozzler/js-templates/umbraBehavior.js.j2 b/brozzler/js-templates/umbraBehavior.js.j2 index d743c20..7c24a13 100644 --- a/brozzler/js-templates/umbraBehavior.js.j2 +++ b/brozzler/js-templates/umbraBehavior.js.j2 @@ -26,6 +26,11 @@ class UmbraBehavior { this.idleSince = null; this.intervalId = null; this.intervalTimeMs = {{interval or 300}}; + {% if skip_iframes %} + this.skipIframes = true; + {% else %} + this.skipIframes = false; + {% endif %} this.index = 0; } @@ -41,12 +46,14 @@ class UmbraBehavior { var somethingLeftAbove = false; var somethingLeftBelow = false; - var iframes = document.querySelectorAll("iframe"); - var iframesLength = iframes.length; - var documents = Array(iframesLength + 1); + var documents = []; documents[0] = document; - for (var i = 0; i < iframesLength; i++) { - documents[i+1] = iframes[i].contentWindow.document; + if (!(this.skipIframes)) { + var iframes = document.querySelectorAll("iframe"); + var iframesLength = iframes.length; + for (var i = 0; i < iframesLength; i++) { + documents.push(iframes[i].contentWindow.document); + } } var documentsLength = documents.length; for (var j = 0; j < documentsLength; j++) {