From 7903b03a0ce59ce23aa520ef57a17ce3319bf49b Mon Sep 17 00:00:00 2001 From: dgtlmoon Date: Wed, 26 Feb 2025 22:37:06 +0100 Subject: [PATCH] Browser Steps - Added new "Remove elements" action --- changedetectionio/blueprint/browser_steps/browser_steps.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changedetectionio/blueprint/browser_steps/browser_steps.py b/changedetectionio/blueprint/browser_steps/browser_steps.py index d2141eb41..6692e685f 100644 --- a/changedetectionio/blueprint/browser_steps/browser_steps.py +++ b/changedetectionio/blueprint/browser_steps/browser_steps.py @@ -38,6 +38,7 @@ browser_step_ui_config = {'Choose one': '0 0', 'Wait for seconds': '0 1', 'Wait for text': '0 1', 'Wait for text in element': '1 1', + 'Remove elements': '1 0', # 'Press Page Down': '0 0', # 'Press Page Up': '0 0', # weird bug, come back to it later @@ -192,6 +193,10 @@ class steppable_browser_interface(): def action_uncheck_checkbox(self, selector, value): self.page.locator(selector).uncheck(timeout=self.action_timeout) + def action_remove_elements(self, selector, value): + """Removes all elements matching the given selector from the DOM.""" + self.page.locator(selector).evaluate_all("els => els.forEach(el => el.remove())") + # Responsible for maintaining a live 'context' with the chrome CDP # @todo - how long do contexts live for anyway?