diff --git a/brozzler/behaviors.yaml b/brozzler/behaviors.yaml index cda0d6d..5c8ceb2 100644 --- a/brozzler/behaviors.yaml +++ b/brozzler/behaviors.yaml @@ -41,10 +41,13 @@ default_parameters: actions: - selector: .glyphsSpriteGrey_Close + rmSelector: '.RnEpo' - selector: 'a>.eLAPa>.KL4Bh' limit: 1 + rmSelector: '.RnEpo' - selector: a.coreSpriteRightPaginationArrow repeatSameElement: true + rmSelector: '.RnEpo' - url_regex: '^https?://americaspresidents\.si\.edu/gallery.*$' behavior_js_template: umbraBehavior.js.j2 diff --git a/brozzler/js-templates/umbraBehavior.js.j2 b/brozzler/js-templates/umbraBehavior.js.j2 index ffad126..1daf39b 100644 --- a/brozzler/js-templates/umbraBehavior.js.j2 +++ b/brozzler/js-templates/umbraBehavior.js.j2 @@ -36,6 +36,7 @@ class UmbraBehavior { var repeatSameElement = this.actions[k].repeatSameElement ? this.actions[k].repeatSameElement : false; var limit = this.actions[k].limit ? this.actions[k].limit : false; var action = this.actions[k].do ? this.actions[k].do : 'click'; + var rmSelector = this.actions[k].rmSelector ? this.actions[k].rmSelector : null; var closeSelector = this.actions[k].closeSelector ? this.actions[k].closeSelector : null; var didSomething = false; var somethingLeftAbove = false; @@ -58,6 +59,16 @@ class UmbraBehavior { var documentsLength = documents.length; for (var j = 0; j < documentsLength; j++) { + if (rmSelector) { + var rmTargets = documents[j].querySelectorAll(rmSelector); + for (var i = 0; i < rmTargets.length; i++) { + if (this.isVisible(rmTargets[i])) { + rmTargets[i].remove(); + didSomething = true; + break; + } + } + } if (closeSelector) { var closeTargets = documents[j].querySelectorAll(closeSelector); for (var i = 0; i < closeTargets.length; i++) {