public static async Task AttachFrame(PuppeteerSharp.Page page, string frameId, string url) { await page.EvaluateFunctionAsync(@"(frameId, url) => { const frame = document.createElement('iframe'); frame.src = url; frame.id = frameId; document.body.appendChild(frame); return new Promise(x => frame.onload = x); }", frameId, url); }
static async System.Threading.Tasks.Task StartWebBrowser() { await new PuppeteerSharp.BrowserFetcher().DownloadAsync(PuppeteerSharp.BrowserFetcher.DefaultRevision); browser = await PuppeteerSharp.Puppeteer.LaunchAsync(new PuppeteerSharp.LaunchOptions { Headless = false, UserDataDir = UserDataDirPath(), DefaultViewport = null, }); browserPage = (await browser.PagesAsync()).FirstOrDefault() ?? await browser.NewPageAsync(); await browserPage.ExposeFunctionAsync("____callback____", (string returnValue) => { callbackFromBrowserDelegate?.Invoke(returnValue); return(0); }); }
protected override async Task InitializeAsync() { await base.InitializeAsync(); Page = await Browser.NewPageAsync(); }