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,
|
is_binary,
|
||||||
empty_pages_are_a_change
|
empty_pages_are_a_change
|
||||||
):
|
):
|
||||||
|
import re
|
||||||
self.delete_browser_steps_screenshots()
|
self.delete_browser_steps_screenshots()
|
||||||
extra_wait = int(os.getenv("WEBDRIVER_DELAY_BEFORE_CONTENT_READY", 5)) + self.render_extract_delay
|
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
|
# headless - ask a new page
|
||||||
self.page = (pages := await browser.pages) and len(pages) or await browser.newPage()
|
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:
|
try:
|
||||||
from pyppeteerstealth import inject_evasions_into_page
|
from pyppeteerstealth import inject_evasions_into_page
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -218,7 +229,6 @@ class fetcher(Fetcher):
|
||||||
|
|
||||||
response = await self.page.goto(url, waitUntil="load")
|
response = await self.page.goto(url, waitUntil="load")
|
||||||
|
|
||||||
|
|
||||||
if response is None:
|
if response is None:
|
||||||
await self.page.close()
|
await self.page.close()
|
||||||
await browser.close()
|
await browser.close()
|
||||||
|
|
Ładowanie…
Reference in New Issue