From fc4bee57b3106dc1b459b4308e6bd5ea1aed529a Mon Sep 17 00:00:00 2001 From: dgtlmoon Date: Thu, 11 May 2023 16:13:48 +0200 Subject: [PATCH] dont use fetcher when browsersteps are defined --- changedetectionio/content_fetcher.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/changedetectionio/content_fetcher.py b/changedetectionio/content_fetcher.py index 537da3af..553fd536 100644 --- a/changedetectionio/content_fetcher.py +++ b/changedetectionio/content_fetcher.py @@ -399,17 +399,23 @@ class base_html_playwright(Fetcher): current_include_filters=None, is_binary=False): - if os.getenv('USE_EXPERIMENTAL_PUPPETEER_FETCH'): - # Temporary backup solution until we rewrite the playwright code - return self.run_fetch_browserless_puppeteer( - url, - timeout, - request_headers, - request_body, - request_method, - ignore_status_codes, - current_include_filters, - is_binary) + # For now, USE_EXPERIMENTAL_PUPPETEER_FETCH is not supported by watches with BrowserSteps (for now!) + has_browser_steps = self.browser_steps and list(filter( + lambda s: (s['operation'] and len(s['operation']) and s['operation'] != 'Choose one' and s['operation'] != 'Goto site'), + self.browser_steps)) + + if not has_browser_steps: + if os.getenv('USE_EXPERIMENTAL_PUPPETEER_FETCH'): + # Temporary backup solution until we rewrite the playwright code + return self.run_fetch_browserless_puppeteer( + url, + timeout, + request_headers, + request_body, + request_method, + ignore_status_codes, + current_include_filters, + is_binary) from playwright.sync_api import sync_playwright import playwright._impl._api_types