Использование GetElementsById для поиска веб-сайта

0
string entry = Titleentry.Text;

HtmlElementCollection theElementCollection;
HtmlDocument filters = webBrowser1.Document;

theElementCollection = webBrowser1.Document.GetElementsByTagName("input");

foreach (HtmlElement curElement in theElementCollection)
{
    if ((curElement.GetAttribute("id").ToString() == "searchTitle"))
    {
        curElement.SetAttribute("value", entry);
    }
}

filters.GetElementById("filterSortBy").GetAttribute("option").Select("price_low_high");

theElementCollection = webBrowser1.Document.GetElementsByTagName("button");

foreach (HtmlElement curElement in theElementCollection)
{
    if (curElement.GetAttribute("id").Equals("searchSubmit"))
    {
        curElement.InvokeMember("click");
    }
}

в отмеченном сообщении появляется следующее сообщение:

Ошибка 1 Аргументы типа для метода "System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable, System.Func)" не могут быть выведены из использования. Попробуйте явно указать аргументы типа.

то, что я пытаюсь сделать, это получить элементы по идентификатору с веб-сайта, поскольку, если я пытаюсь использовать элементы по имени тега, он выбирает неправильный элемент

Я пробовал использовать html-коллекции, но он говорит, что не может неявно преобразовывать html-элементы в html-коллекции

  • 0
    кто-нибудь хочет помочь мне, пожалуйста?
Теги:
linq
filter

1 ответ

0

Во-первых, Select принимает Func<TSource, TResult>, а не только строку, в которой говорится, что вы хотите. Во-вторых, почему вы пытаетесь использовать Select в первую очередь? GetAttribute возвращает строку значения атрибута. Просто объявите строку для захвата значения.

string option = filters.GetElementById("filterSortBy").GetAttribute("option");
  • 0
    Я использую Select, потому что это список опций, и так как я очень новичок в c #, я подумал, что это был здравый смысл с момента его выбора. После использования этого, как я могу выбрать цену от низкого до высокого значения?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню