diff --git a/Program.cs b/Program.cs index 6c4d58c..06a9278 100644 --- a/Program.cs +++ b/Program.cs @@ -1,4 +1,7 @@ -using PuppeteerSharp; +using Microsoft.Extensions.Primitives; +using PuppeteerSharp; +using System.IO; +using System.Text; var browserFetcher = new BrowserFetcher(); await browserFetcher.DownloadAsync(); @@ -15,14 +18,13 @@ page.TypeAsync("input[name='loginfmt']", "ricardo.carneiro@domvsit.com.br").Wait page.ClickAsync("input[type='submit']").Wait(); page.TypeAsync("input[name='passwd']", "C4rn31r0#13").Wait(); -page.ClickAsync("input[type='submit']").Wait(); - await page.WaitForSelectorAsync("div[title='Serviços']", new WaitForSelectorOptions { Timeout=60000 }); var list = await page.QuerySelectorAllAsync("div[class='ms-List-page'] > div[role='presentation']"); var gotoList = new List(); var content = new Dictionary(); +var builder = new StringBuilder(); foreach (var item in list) { var pageHeaderHandle = await item.QuerySelectorAsync("div[role='listitem'] > a"); @@ -31,15 +33,28 @@ foreach (var item in list) gotoList.Add(linkGoTo.ToString()); } +var first = true; foreach (var url in gotoList) { await page.GoToAsync(url); var pageHeaderHandle = await page.QuerySelectorAsync("div[role='main']"); var link = await pageHeaderHandle.GetPropertyAsync("innerText"); var htmlInside = await link.JsonValueAsync(); - var title = htmlInside.ToString().Substring(0, htmlInside.ToString().IndexOf('\n')); - content.Add(url, $"**{title}** \n\r - {htmlInside.ToString()} "); + var htmlContent = htmlInside.ToString(); + var title = htmlContent.Substring(0, htmlContent.IndexOf('\n')); + var textContent = htmlContent.Substring(htmlContent.IndexOf('\n') + 2); + textContent = textContent.Replace("\n", "\n\t "); + var separe = ""; + if (!first) separe = "\n\r\n\r\n\r"; + var textToSave = $"{separe}**{title}** \n\n\t {textContent} "; + content.Add(url, textToSave); + builder.Append(textToSave); + + first = false; } +var local = System.Reflection.Assembly.GetExecutingAssembly().Location; +File.WriteAllText(Path.Combine(Path.GetDirectoryName(local), "Servicos.txt"), builder.ToString()); +await browser.CloseAsync();