我有一个示例html:
<div class="linkWrap">
<a href="http://google.com">Google</a>
<a href="http://stackoverflow.com">Stackoverflow</a>
<a href="http://wikipedia.org">Wikipedia</a>
</div>
我想得到html元素的索引值。
如何获取html元素的索引值?比如jQuery的.index()
public int GetLinkIndex(string url)
{
// return browser.Link(Find.ByUrl(url)).Index()
}
感谢阅读。
我试过了。但看起来有点不对..
public int GetLinkIndex(string url)
{
if(browser.Link(Find.ByUrl(url)).Exists)
{
int i = 0;
while(true)
{
string href = browser.Link(Find.BySelector(".linkWrap > a") && Find.ByIndex(i)).GetAttributeValue("href");
if(href == url)
{
return i;
}
i += 1;
}
}
}
答案 0 :(得分:1)
是针对所有元素还是仅针对特定元素类型。正如您在示例代码中提到的,它似乎适用于Links。然后以下代码可以帮助您
public Int GetListIndex(string url)
{
LinkCollection links = browser.Links;
int count = -1;
foreach(Link lnk in links)
{
if(lnk.GetAttributeValue("href").Contains(url))
{
return ++count;
}
count++;
}
}
答案 1 :(得分:0)
您可以尝试使用此Stream阅读器功能在String-Array中保护您的html文件 msdn.microsoft.com/de-de/library/aa287535(V = vs.71)的.aspx
可以删除第一行和最后一行,包含“”和“”
接下来,您可以使用trim Funktion删除每行中的前8个和后4个字符。 msdn.microsoft.com/de-de/library/d4tt83f9(V = vs.110)的.aspx
现在你有一个像“http://google.com”&gt; Google“这样的数组。 您可以使用split-funktion从名称中拆分http部分 msdn.microsoft.com/de-de/library/b873y76a(V = vs.110)的.aspx
将两个部分存储在二维数组中。 现在你有一个索引的URL数组