public async Task <List <string> > RunScenario(IAccountData accountData, string[] vkAccountNames) { var result = new List <string>(); try { using (var browser = await PuppeteerBrowser.GetBrowser(_chromiumSettings.GetPath(), _chromiumSettings.GetHeadless())) using (var page = await browser.NewPageAsync()) { if (accountData != null) { var vkAuthorizationAuth = await VkAuthorization.Auth(page, accountData); Info($"Авторизация ВКонтакте успешна - {vkAuthorizationAuth}"); } else { Info("Нет данных для авторизация ВКонтакте"); } foreach (var vkAccountName in vkAccountNames) { if (string.IsNullOrEmpty(vkAccountName)) { continue; } var response = await page.GoToAsync($"https://vk.com/{vkAccountName}"); var checkVkAccountResult = new CheckVkAccountOutput { AccountName = vkAccountName, Available = response.Ok }; _progressResult?.Report(checkVkAccountResult); var text = JsonConvert.SerializeObject(checkVkAccountResult); Info(text); result.Add(text); } } } catch (Exception exception) { Error(exception.Message); } return(result); }
public async Task RunScenario(IAccountData accountData, string[] vkGroups, string message) { try { using (var browser = await PuppeteerBrowser.GetBrowser(_chromiumSettings.GetPath(), _chromiumSettings.GetHeadless())) using (var page = await browser.NewPageAsync()) { foreach (var vkGroup in vkGroups) { await VkAuthorization.Auth(page, accountData); await page.GoToAsync($"https://vk.com/{vkGroup}"); //await page.GoToAsync($"https://vk.com/club188446341"); await page.WaitForSelectorAsync("div.submit_post_field", new WaitForSelectorOptions { Timeout = 5000 }); await page.ClickAsync("div.submit_post_field"); await page.WaitForTimeoutAsync(500); //await page.TypeAsync("div.submit_post_field", "45", new TypeOptions { Delay = 50 }); await page.Keyboard.PressAsync($"{nameof(Key.Backspace)}"); await page.Keyboard.PressAsync($"{nameof(Key.Backspace)}"); await page.TypeAsync("div.submit_post_field", message, new TypeOptions { Delay = 50 }); await page.WaitForTimeoutAsync(500); await page.ClickAsync("#send_post"); await page.WaitForTimeoutAsync(500); //await page.Keyboard.PressAsync($"{nameof(Key.Enter)}"); //Report($"{text}"); } } } catch (Exception exception) { Error(exception.ToString()); } }
public async Task <List <string> > RunScenario(IAccountData accountData, string[] vkAccountNames, int pageCount) { var result = new List <string>(); try { using (var browser = await PuppeteerBrowser.GetBrowser(_chromiumSettings.GetPath(), _chromiumSettings.GetHeadless())) using (var page = await browser.NewPageAsync()) { await VkAuthorization.Auth(page, accountData); var i = 1; foreach (var vkAccountName in vkAccountNames) { await page.GoToAsync($"https://vk.com/{vkAccountName}"); var postContentSelector = "div.post_content"; var postContent = await page.QuerySelectorAllAsync(postContentSelector); var postCount = postContent.Length; var cycleIndex = 1; var postCountPrev = 0; while (postCount >= postCountPrev) { if (cycleIndex >= pageCount) { break; } postCountPrev = postCount; await page.Keyboard.DownAsync($"{nameof(Key.Control)}"); await page.Keyboard.PressAsync($"{nameof(Key.End)}"); await page.Keyboard.UpAsync($"{nameof(Key.Control)}"); await page.WaitForTimeoutAsync(300); postContent = await page.QuerySelectorAllAsync(postContentSelector); postCount = postContent.Length; cycleIndex++; } foreach (var item in postContent) { Report($"------------{i}------------------------------------------------"); var text = (await(await item.GetPropertyAsync("innerText")).JsonValueAsync()).ToString(); Report(text); result.Add(text); i++; } } } } catch (Exception exception) { Error(exception.ToString()); } return(result); }