Привет имеется часть код страницы, не могу спарсить элементы одного уровня
<tr class="even" role="row">
<td class="text-left" data-sort="6">TEXT</td>
<td class="text-right" data-sort="18">
<td> 102 </td>
<td class="text-right" data-sort="19">11</td>
<td> 14 </td>
<td class="text-right" data-sort="16">
<td data-sort="15.84">0</td>
</tr>
Нужно спарсит строку <td> 102 </td>
, на прямую не получиться т.к. идет список <tr class="even" role="row">
и искать нужно уже внутри.
Нахожу нужный заголовок по TEXT, а как спарсить уже на одном уровне не знаю
//td[@class='text-left' and contains(text(), 'TEXT')]
Что нужно дописать к моему коду?
Как я понял, нужно получить значения узлов td
, которые не содержат атрибутов.
XPath-выражение может выглядеть следующим образом:
string xpath = "//tr[td[@class='text-left' and contains(text(), 'TEXT')]]/td[not(@*)]";
Ищется узел tr
, содержащий узел td
с нужными атрибутами и текстом. А потом берутся узлы td
без атрибутов.
// Получаем один (первый) элемент td
var node = doc.SelectSingleNode(xpath);
// Получаем все элементы td
var nodes = doc.SelectNodes(xpath);
решил проблему так
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System.Net;
string text = driver.FindElement(By.XPath("//td[@class='text-left' and contains(text(), 'TEXT']/parent::tr/td[n]")).Text;
В проекте много библиотек, но использовал для selenium webdriver
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я сделал небольшое приложение с, как мне кажется, нормальной многослойной архитектуройhttps://github
Пишу программу для парсинга одного сайта, использую AngleSharp библиотекуК сожалению документации не нашел, что усложняет процесс обучения
Создаю объект класса Action и как параметр передаю Driver,но почему-то на Driver выдаёт ошибку'Framework
Имеется необходимость на всём протяжении работы программы в некотором классе Watcher получать сообщения из некоего динамического буфера (Mailslot,...