Gravando aquivo txt

This commit is contained in:
Ricardo Carneiro 2024-08-11 21:55:17 -03:00
parent 30be92d1da
commit e76d412693

View File

@ -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<string>();
var content = new Dictionary<string, string>();
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();