feat(chromium): skip lifecycle waits when waitForExpression or waitForSelector is set

This commit is contained in:
Julien Neuhart
2026-04-24 09:28:27 +02:00
parent 259d80bb68
commit 430f95f79f
4 changed files with 78 additions and 6 deletions

View File

@@ -317,7 +317,11 @@ func (b *chromiumBrowser) pdf(ctx context.Context, logger *slog.Logger, url, out
disableJavaScriptActionFunc(logger, b.arguments.disableJavaScript),
setCookiesActionFunc(logger, options.Cookies),
userAgentOverride(logger, options.UserAgent),
navigateActionFunc(logger, url, options.SkipNetworkIdleEvent, options.SkipNetworkAlmostIdleEvent),
navigateActionFunc(logger, url, navigateOptions{
SkipNetworkIdleEvent: options.SkipNetworkIdleEvent,
SkipNetworkAlmostIdleEvent: options.SkipNetworkAlmostIdleEvent,
SkipLifecycleEvents: options.WaitForExpression != "" || options.WaitForSelector != "",
}),
hideDefaultWhiteBackgroundActionFunc(logger, options.OmitBackground, options.PrintBackground),
forceExactColorsActionFunc(logger, options.PrintBackground),
emulateMediaTypeActionFunc(logger, options.EmulatedMediaType, options.EmulatedMediaFeatures),
@@ -343,7 +347,11 @@ func (b *chromiumBrowser) screenshot(ctx context.Context, logger *slog.Logger, u
disableJavaScriptActionFunc(logger, b.arguments.disableJavaScript),
setCookiesActionFunc(logger, options.Cookies),
userAgentOverride(logger, options.UserAgent),
navigateActionFunc(logger, url, options.SkipNetworkIdleEvent, options.SkipNetworkAlmostIdleEvent),
navigateActionFunc(logger, url, navigateOptions{
SkipNetworkIdleEvent: options.SkipNetworkIdleEvent,
SkipNetworkAlmostIdleEvent: options.SkipNetworkAlmostIdleEvent,
SkipLifecycleEvents: options.WaitForExpression != "" || options.WaitForSelector != "",
}),
hideDefaultWhiteBackgroundActionFunc(logger, options.OmitBackground, true),
forceExactColorsActionFunc(logger, true),
emulateMediaTypeActionFunc(logger, options.EmulatedMediaType, options.EmulatedMediaFeatures),