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)”的类型参数。尝试明确指定类型参数。

我想做的是从网站上按 ID 获取元素,因为如果我按标签名称尝试元素,它会选择不正确的元素

我尝试使用 html 集合,但它说不能将 html 元素隐式转换为 html 集合

4

1 回答 1

0

首先,Select需要一个Func<TSource, TResult>,而不仅仅是一个字符串,说明你想要什么。其次,您为什么首先尝试使用SelectGetAttribute返回属性值的字符串。只需声明一个字符串即可捕获该值。

string option = filters.GetElementById("filterSortBy").GetAttribute("option");
于 2013-10-21T16:37:49.733 回答