protected virtual async Task AddScripts(Page page) { if (CustomScripts?.Any() ?? false) { foreach (var script in CustomScripts) { await page.AddScriptTagAsync(script); } } else { await page.AddScriptTagAsync("http://lychee.scrapper.localhost/Scripts/ScrapperFunctions.js"); //add custom scrapper functions await page.AddScriptTagAsync("http://lychee.scrapper.localhost/Scripts/jquery-3.3.1.min.js"); //add jquery for faster searching for element //await page.EvaluateFunctionAsync(@"(url1, url2) => { //var scriptTag = document.createElement('script'); //scriptTag.src = url1; //var scriptTag2 = document.createElement('script'); //scriptTag2.src = url2; //document.body.appendChild(scriptTag); //document.body.appendChild(scriptTag2);}", "http://lychee.scrapper.localhost/Scripts/ScrapperFunctions.js", "http://lychee.scrapper.localhost/Scripts/jquery-3.3.1.min.js"); } }
public void AddOnCompleteScript(Assembly resourceAssembly, string resourceName) { CustomScripts.Add(new InjectedResourceDescriptor { RelativePath = String.Format("ext/{0}", resourceName), ResourceAssembly = resourceAssembly, ResourceName = resourceName, }); }
public void Save(Stream to) { using var writer = new WcDataWriter(to); writer.Write(Encoding.ASCII.GetBytes(MagicNumber0)); writer.Write(MagicNumber1); writer.Write(FormatVersion); foreach (var uv in UG0) { writer.Write(uv); } writer.Write(Categories.Count() + 1); writer.Write(0u); writer.Write(Triggers.Count()); writer.Write(0u); writer.Write(TriggerComments.Count()); writer.Write(0u); writer.Write(CustomScripts.Count()); writer.Write(0u); writer.Write(Variables.Count()); writer.Write(0u); foreach (var uv in UG1) { writer.Write(uv); } writer.Write(WarcraftVersion); writer.Write(Variables.Count()); foreach (var v in Variables) { Produce(writer, v !); } writer.Write(Elements.Count + 1); foreach (var uv in UG2) { writer.Write(uv); } writer.Write(MapFileName); foreach (var uv in UG3) { writer.Write(uv); } if (FormatVersion >= 7) { foreach (var uv in UG4) { writer.Write(uv); } } foreach (var obj in Elements) { switch (obj) { case WtgCategory cat: Produce(writer, cat); break; case WtgTrigger trig: Produce(writer, trig); break; case WtgVariable v: Produce2(writer, v); break; } } }