Guten Tag, liebe Gemeinde,
ich habe versucht, wieder via C# das CefSharp zu benutzen. Leider scheitere ich bereits am Example:
github.com/cefsharp/CefSharp/b…Screen.Example/Program.cs
Den Example wollte ich in mein Windows Forms C# Projekt hinzufügen und ich kriege eine Fehlermeldung beim await LoadPageAsync(browser);
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler CS0103 Der Name "LoadPageAsync" ist im aktuellen Kontext nicht vorhanden.
Hier mein ganzer Code:
Meine Fragen: Was mache ich konkret falsch? Wie kann ich das Example fehlerfrei übertragen?
Ich bedanke mich recht herzlich und freundliche Grüße
Semi
ich habe versucht, wieder via C# das CefSharp zu benutzen. Leider scheitere ich bereits am Example:
github.com/cefsharp/CefSharp/b…Screen.Example/Program.cs
Den Example wollte ich in mein Windows Forms C# Projekt hinzufügen und ich kriege eine Fehlermeldung beim await LoadPageAsync(browser);
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler CS0103 Der Name "LoadPageAsync" ist im aktuellen Kontext nicht vorhanden.
Hier mein ganzer Code:
Quellcode
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using CefSharp;
- using CefSharp.OffScreen;
- using System.Diagnostics;
- namespace Sharp_Offscreen_3
- {
- public partial class Form1 : Form
- {
- private const string TestUrl = "https://www.google.com/";
- public Form1()
- {
- Cef.Initialize();
- Console.ReadKey();
- Cef.Shutdown();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- }
- private static async void MainAsync(string cachePath, double zoomLevel)
- {
- var browserSettings = new BrowserSettings();
- //Reduce rendering speed to one frame per second so it's easier to take screen shots
- browserSettings.WindowlessFrameRate = 1;
- var requestContextSettings = new RequestContextSettings { CachePath = cachePath };
- // RequestContext can be shared between browser instances and allows for custom settings
- // e.g. CachePath
- using (var requestContext = new RequestContext(requestContextSettings))
- using (var browser = new ChromiumWebBrowser(TestUrl, browserSettings, requestContext))
- {
- if (zoomLevel > 1)
- {
- browser.FrameLoadStart += (s, argsi) =>
- {
- var b = (ChromiumWebBrowser)s;
- if (argsi.Frame.IsMain)
- {
- b.SetZoomLevel(zoomLevel);
- }
- };
- }
- await LoadPageAsync(browser);
- //Check preferences on the CEF UI Thread
- await Cef.UIThreadTaskFactory.StartNew(delegate
- {
- var preferences = requestContext.GetAllPreferences(true);
- //Check do not track status
- var doNotTrack = (bool)preferences["enable_do_not_track"];
- Debug.WriteLine("DoNotTrack:" + doNotTrack);
- });
- var onUi = Cef.CurrentlyOnThread(CefThreadIds.TID_UI);
- // For Google.com pre-pupulate the search text box
- await browser.EvaluateScriptAsync("document.getElementById('lst-ib').value = 'CefSharp Was Here!'");
- // Wait for the screenshot to be taken,
- // if one exists ignore it, wait for a new one to make sure we have the most up to date
- await browser.ScreenshotAsync(true).ContinueWith(DisplayBitmap);
- await LoadPageAsync(browser, "http://github.com");
- //Gets a wrapper around the underlying CefBrowser instance
- var cefBrowser = browser.GetBrowser();
- // Gets a warpper around the CefBrowserHost instance
- // You can perform a lot of low level browser operations using this interface
- var cefHost = cefBrowser.GetHost();
- //You can call Invalidate to redraw/refresh the image
- cefHost.Invalidate(PaintElementType.View);
- // Wait for the screenshot to be taken.
- await browser.ScreenshotAsync(true).ContinueWith(DisplayBitmap);
- }
- }
- }
- }
Meine Fragen: Was mache ich konkret falsch? Wie kann ich das Example fehlerfrei übertragen?
Ich bedanke mich recht herzlich und freundliche Grüße
Semi