Парсер на c#. IndexOf выдает -1 [дубликат]

165
21 ноября 2021, 03:50
На этот вопрос уже даны ответы здесь:
Как распарсить HTML в .NET? (6 ответов)
Закрыт 1 год назад.
public void Button1_Click_1(object sender, EventArgs e)
{
var page = GetHtmlPage("https://market.yandex.ru/product--videokarta-msi-geforce-rtx-2080-1515mhz-pci-e-3-0-8192mb-14000mhz-256-bit-3xdisplayport-hdmi-hdcp-gaming-x-trio/158327341");
var pos = page.IndexOf("n-product-price-cpa2__price");
char ch1 = page[pos + 5];
label6.Text = ch1.ToString();
}

Пытаюсь получить значение после определенного текста в html коде страницы. page.IndexOf почему-то выдает -1, хотя на тестовой строке, содержащую нужный фрагмент все правильно определялось.

Answer 1

Возьмите CefSharp и вытяните цену используя JavaScript. Это делается одной строчкой

document.querySelector(".n-product-price-cpa2__price>span").innerText

Яндекс Маркет - прогрессивное веб-приложение, написанное на React. Вполне вероятно, что фрагмент с ценой рендерится на клиенте, а не на сервере.

READ ALSO
cannot convert from 'System.Security.Claims.ClaimsPrincipal' to 'Microsoft.AspNetCore.Identity.IdentityUser'

cannot convert from 'System.Security.Claims.ClaimsPrincipal' to 'Microsoft.AspNetCore.Identity.IdentityUser'

когда user передаю в метод OrderTicket выдает такую ошибку

260
Проблема с реализацией интерфейса

Проблема с реализацией интерфейса

Столкнулся с проблемой: по заданию курсовой надо создать интерфейс и реализовать его

115