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-коллекции
Во-первых, Select
принимает Func<TSource, TResult>
, а не только строку, в которой говорится, что вы хотите. Во-вторых, почему вы пытаетесь использовать Select
в первую очередь? GetAttribute
возвращает строку значения атрибута. Просто объявите строку для захвата значения.
string option = filters.GetElementById("filterSortBy").GetAttribute("option");