[playwright] option to force a specific browser
This commit is contained in:
parent
9b1ef5167d
commit
f2a5fa2e53
|
@ -178,6 +178,8 @@ def _real_main(argv=None):
|
||||||
parser.error('Unsupported TV Provider, use --ap-list-mso to get a list of supported TV Providers')
|
parser.error('Unsupported TV Provider, use --ap-list-mso to get a list of supported TV Providers')
|
||||||
if opts.force_generic_extractor and opts.force_use_mastodon:
|
if opts.force_generic_extractor and opts.force_use_mastodon:
|
||||||
parser.error('force either generic extractor or Mastodon')
|
parser.error('force either generic extractor or Mastodon')
|
||||||
|
if opts.force_playwright_browser not in ('firefox', 'chromium', 'webkit', None):
|
||||||
|
parser.error('invalid browser forced, must be on of: firefox, chromium, webkit')
|
||||||
|
|
||||||
def parse_retries(retries):
|
def parse_retries(retries):
|
||||||
if retries in ('inf', 'infinite'):
|
if retries in ('inf', 'infinite'):
|
||||||
|
@ -424,6 +426,7 @@ def _real_main(argv=None):
|
||||||
'headless_playwright': opts.headless_playwright,
|
'headless_playwright': opts.headless_playwright,
|
||||||
'sleep_interval': opts.sleep_interval,
|
'sleep_interval': opts.sleep_interval,
|
||||||
'max_sleep_interval': opts.max_sleep_interval,
|
'max_sleep_interval': opts.max_sleep_interval,
|
||||||
|
'force_playwright_browser': opts.force_playwright_browser,
|
||||||
'external_downloader': opts.external_downloader,
|
'external_downloader': opts.external_downloader,
|
||||||
'list_thumbnails': opts.list_thumbnails,
|
'list_thumbnails': opts.list_thumbnails,
|
||||||
'playlist_items': opts.playlist_items,
|
'playlist_items': opts.playlist_items,
|
||||||
|
|
|
@ -604,6 +604,10 @@ def parseOpts(overrideArguments=None):
|
||||||
'Upper bound of a range for randomized sleep before each download '
|
'Upper bound of a range for randomized sleep before each download '
|
||||||
'(maximum possible number of seconds to sleep). Must only be used '
|
'(maximum possible number of seconds to sleep). Must only be used '
|
||||||
'along with --min-sleep-interval.'))
|
'along with --min-sleep-interval.'))
|
||||||
|
workarounds.add_option(
|
||||||
|
'--force-playwright-browser', dest='force_playwright_browser',
|
||||||
|
help=('Force use a selected browser with extractors using Playwright.'
|
||||||
|
'Must be one of: firefox, chromium, webkit.'))
|
||||||
|
|
||||||
verbosity = optparse.OptionGroup(parser, 'Verbosity / Simulation Options')
|
verbosity = optparse.OptionGroup(parser, 'Verbosity / Simulation Options')
|
||||||
verbosity.add_option(
|
verbosity.add_option(
|
||||||
|
|
|
@ -94,6 +94,8 @@ class PlaywrightHelper():
|
||||||
def open_page(self, url, display_id, browser_used='firefox', note='Opening page in %(browser)s', html=None):
|
def open_page(self, url, display_id, browser_used='firefox', note='Opening page in %(browser)s', html=None):
|
||||||
pw = self.pw()
|
pw = self.pw()
|
||||||
self.pw_instance = pw
|
self.pw_instance = pw
|
||||||
|
if self._extractor._downloader.params.get('force_playwright_browser') is not None:
|
||||||
|
browser_used = self._extractor._downloader.params.get('force_playwright_browser')
|
||||||
browser = {
|
browser = {
|
||||||
'firefox': pw.firefox,
|
'firefox': pw.firefox,
|
||||||
'chromium': pw.chromium,
|
'chromium': pw.chromium,
|
||||||
|
|
Loading…
Reference in a new issue