Фрагменты кода в разделах 2.1 и 2.2 ниже предназначены для выполнения Google Analytics JavaScript< /em> из консольного приложения C#, которое использует автономный веб-браузер для загрузки следующей HTML-страницы, размещенной на веб-сервере (скажем, https://my.server. com/index.html):
Код: Выделить всё
Title Placeholder
window.dataLayer = window.dataLayer || [];
function gtag()
{
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-**********');
Body Placeholder
2. Фрагменты кода C#
2.1. Использование Puppeteer Sharp
Код: Выделить всё
using System.Threading.Tasks;
using PuppeteerSharp;
class Program {
static async Task Main(string[] args) {
await new BrowserFetcher().DownloadAsync();
var browser = await Puppeteer.LaunchAsync(new LaunchOptions {Headless = true});
var page = await browser.NewPageAsync();
page.DefaultNavigationTimeout = 0;
page.DefaultTimeout = 0;
var navigation = new NavigationOptions {
Timeout = 0,
WaitUntil = new[] {
WaitUntilNavigation.DOMContentLoaded,
WaitUntilNavigation.Networkidle0
}
};
await page.GoToAsync("https://my.server.com/", navigation);
await browser.CloseAsync();
}
}
Код: Выделить всё
using CefSharp;
using CefSharp.WinForms;
class Program {
static void Main(string[] args) {
var settings = new CefSettings();
Cef.Initialize(settings);
var browser = new ChromiumWebBrowser("https://my.server.com/");
Cef.Shutdown();
}
}
Почему Google Analytics JavaScript на странице https://my.server.com/index.html не выполняется (т. е. сервер Google Analytics не сообщает, что эта веб-страница была загружена) при запуске методов Main в разделах 2.1 или < Strong>2.2
?
Подробнее здесь: https://stackoverflow.com/questions/788 ... eetersharp