-
-
Notifications
You must be signed in to change notification settings - Fork 487
[ICDPSession] Page.startScreencast causes subsequent operations to fail #2943
Copy link
Copy link
Closed
Description
Hey I have been looking at getting Page.screencast to work and no matter what I try I find that sending Page.screencast succeeds, but any other operation after that point fails.
These two example differ only by this line:
await session.SendAsync("Page.startScreencast", new { format = "png", everyNthFrame = 1 });The first one passes, the second one throws error.
using System;
using System.Threading.Tasks;
using NUnit.Framework;
using PuppeteerSharp;
[TestFixture]
public class AboutChromeDevToolsAndScreencasting
{
[Test]
public async Task Can_use_cdp_session_without_screencast()
{
await using var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = false });
await using var page = await browser.NewPageAsync();
var session = await page.CreateCDPSessionAsync();
session.MessageReceived += (_, args) => { Console.WriteLine($"[EVENT] {args.MessageID} {args.MessageData}"); };
await page.GoToAsync("https://www.rnz.co.nz");
Assert.That(await page.GetTitleAsync(), Is.EqualTo("RNZ - NZ News, Current Affairs, Audio On Demand"));
}
[Test]
public async Task Page_enable_causes_subsequent_operations_to_fail()
{
await using var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = false });
await using var page = await browser.NewPageAsync();
var session = await page.CreateCDPSessionAsync();
/*
Prints:
[EVENT] Page.screencastVisibilityChanged {"visible":true}
*/
session.MessageReceived += (_, args) => { Console.WriteLine($"[EVENT] {args.MessageID} {args.MessageData}"); };
/*
[!] This line causes all subsequent operations to fail
PuppeteerSharp.NavigationException : Protocol error(Page.navigate): Target closed. (Connection failed to process System.Byte[].
The JSON value could not be converted to System.String. Path: $.sessionId | LineNumber: 0 | BytePositionInLine: 10386..
*/
await session.SendAsync("Page.startScreencast", new { format = "png", everyNthFrame = 1 });
await page.GoToAsync("https://www.rnz.co.nz");
Assert.That(await page.GetTitleAsync(), Is.EqualTo("RNZ - NZ News, Current Affairs, Audio On Demand"));
}
}What am I missing?
PuppeteerSharp 20.0.5
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels