Я только начал изучать Selenium WebDriver и столкнулся с несколькими проблемами.Я много гуглил, но безуспешно.
Итак, я собираюсь написать парсер сайта.
Существует разновидность HTML.
представление браузера и html
<div class="view-wrapper">
включены <ul class="sport--list">
и включают список <li class="sport--block">...</li>
Я пытаюсь проверить каждый класс спортивных блоков в цикле и нашел раздел, который включает в себя ключевое слово, например, "Футбол"
Футбол
Затем, когда я нашел правильный раздел, я собираюсь получить значение нестатического таймера и затем записать его в файл.Это мой следующий шаг.Прежде всего, я должен решить свою первую проблему:
таймер
Основная проблема заключается в том, что существует множество элементов div.Как я могу найти подходящий?Я написал этот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
namespace Parser
{
class Program
{
static void Main(string[] args)
{
using (var driver = new ChromeDriver())
{
// Go to the home page
driver.Navigate().GoToUrl("https://www.favorit.com.ua/ru/live/");
// Get the page elements
IList<IWebElement> ClassNamesElements = driver.FindElements(By.ClassName("sport--block"));
for (int i = 0; i < ClassNamesElements.Count; i++)
{
Console.WriteLine(ClassNamesElements[i]);
Console.ReadLine();
}
}
}
}
}
Но я не знаю, как настроить следующее условие для выбора.Как «Где включает в себя что-то вроде Футбол».И после этого я хочу работать только с частью HTML, соответствующей моему правильному виду спорта - блок
Я не могу использовать XPath элементов, потому что сайт не статичен.И правильный спортивный блок может появиться со случайным положением.
Мне не нужно, чтобы вы писали код вместо меня.Мне просто нужно какое-то направление, чтобы продолжить поиск в Google.
Я выбрал правильный способ решения этой задачи (C # + Selenium)?Пожалуйста, дайте мне несколько подсказок или подсказок.Заранее спасибо.