kopia lustrzana https://github.com/dgtlmoon/changedetection.io
pyppeteer fast puppeteer fetch - be sure viewport is set to --window-size if --window-size is set (#3157)
rodzic
c70706a27b
commit
fd7574d21b
|
@ -147,7 +147,7 @@ class fetcher(Fetcher):
|
|||
is_binary,
|
||||
empty_pages_are_a_change
|
||||
):
|
||||
|
||||
import re
|
||||
self.delete_browser_steps_screenshots()
|
||||
extra_wait = int(os.getenv("WEBDRIVER_DELAY_BEFORE_CONTENT_READY", 5)) + self.render_extract_delay
|
||||
|
||||
|
@ -172,6 +172,17 @@ class fetcher(Fetcher):
|
|||
# headless - ask a new page
|
||||
self.page = (pages := await browser.pages) and len(pages) or await browser.newPage()
|
||||
|
||||
if '--window-size' in self.browser_connection_url:
|
||||
# Be sure the viewport is always the window-size, this is often not the same thing
|
||||
match = re.search(r'--window-size=(\d+),(\d+)', self.browser_connection_url)
|
||||
if match:
|
||||
logger.debug(f"Setting viewport to same as --window-size in browser connection URL {int(match.group(1))},{int(match.group(2))}")
|
||||
await self.page.setViewport({
|
||||
"width": int(match.group(1)),
|
||||
"height": int(match.group(2))
|
||||
})
|
||||
logger.debug(f"Puppeteer viewport size {self.page.viewport}")
|
||||
|
||||
try:
|
||||
from pyppeteerstealth import inject_evasions_into_page
|
||||
except ImportError:
|
||||
|
@ -218,7 +229,6 @@ class fetcher(Fetcher):
|
|||
|
||||
response = await self.page.goto(url, waitUntil="load")
|
||||
|
||||
|
||||
if response is None:
|
||||
await self.page.close()
|
||||
await browser.close()
|
||||
|
|
Ładowanie…
Reference in New Issue