- Регистрация
- 07.03.2017
- Сообщения
- 21
- Благодарностей
- 4
- Баллы
- 3
Приветствую,
Есть exe который работает с CMD но через кубик "Запуск программы" выдает ошибку, пологою, на моменте создания txt.
Знаю поверхностно С#, не судите строго.
Помогите кто может.
Есть exe который работает с CMD но через кубик "Запуск программы" выдает ошибку, пологою, на моменте создания txt.
Знаю поверхностно С#, не судите строго.
Помогите кто может.
На пакете Selenium.WebDriver :
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Interactions;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
class Program
{
static void Main(string[] args)
{
string url = ParseUrlArgument(args);
string fileName = ParseFileNameArgument(args);
if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(fileName))
{
Console.WriteLine("Пожалуйста, укажите URL и имя файла в виде аргументов командной строки в формате: prog.exe -url https://m.youtube.com/channel/xxx -file имяфайла.txt");
return;
}
// Создание экземпляра веб-драйвера Chrome
IWebDriver driver = new ChromeDriver();
// Переход на заданный URL
driver.Navigate().GoToUrl(url);
// Найти кнопку по XPath и выполнить клик соглашение с Куками
string buttonXpath = "//*[@id='yDmH0d']/c-wiz/div/div/div/div[2]/div[1]/div[3]/div[1]/form[2]/div/div/button/span";
var button = driver.FindElement(By.XPath(buttonXpath));
button.Click();
// Добавить задержку в 1500 миллисекунд (1.5 секунды)
Thread.Sleep(1500);
// Найти кнопку по XPath и выполнить клик Видео
string buttonXpath1 = "//*[@id=\"tabsContent\"]/tp-yt-paper-tab[2]";
var button1 = driver.FindElement(By.XPath(buttonXpath1));
Actions actions1 = new Actions(driver);
actions1.MoveToElement(button1).Click().Perform();
// Добавить задержку в 2500 миллисекунд (1.5 секунды)
Thread.Sleep(1500);
// Прокрутка страницы вниз с помощью Actions
Actions actions = new Actions(driver);
actions.SendKeys(Keys.End).Perform();
// Добавить задержку в 2500 миллисекунд (1.5 секунды)
Thread.Sleep(1500);
// Поиск элементов по XPath
string xpath = "//div[starts-with(@class,'style-scope')]/ytd-thumbnail-overlay-time-status-renderer/span";
var elements = driver.FindElements(By.XPath(xpath));
// Сохранение текста элементов в список
List<string> dataList = new List<string>();
foreach (var element in elements)
{
dataList.Add(element.Text);
}
// Сохранение данных в файл
using (StreamWriter writer = new StreamWriter(fileName))
{
foreach (var data in dataList)
{
writer.WriteLine(data);
}
}
// Закрытие веб-драйвера
driver.Quit();
}
static string ParseUrlArgument(string[] args)
{
for (int i = 0; i < args.Length - 1; i++)
{
if (args[i] == "-url")
{
return args[i + 1];
}
}
return null;
}
static string ParseFileNameArgument(string[] args)
{
for (int i = 0; i < args.Length - 1; i++)
{
if (args[i] == "-file")
{
return args[i + 1];
}
}
return null;
}
}