以下快照是我在使用 IE Developer 工具查看类和 Id 时看到的。它由一个表格组成,表格内部有链接。我需要读取所有链接名称,并将链接名称存储在字符串数组中。
当我使用 Firebug 获取每个链接的 Xpath 时,我得到:
/html/body/table/tbody/tr/td[2]/table/tbody/tr/td[2]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr/td[4]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[3]/td[2]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[3]/td[4]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[5]/td[2]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[5]/td[4]/font/a
我最初有以下方法,但 QuickWatch 将 arrTopics 显示为 null。它应该给我至少 10 个标签。arrTopics 的值应该类似于 {"Administration", "Banking", "Marketing", ...} 我认为这与我的 xpath (("//a[@class='wlcategoryLinkBold']/ @href")。
public List<string> Search(ISelenium Sel)
{
Sel.Click(//*[@id="Search_Tab_Search"]);
List<string> topics = new List<string>();
int se = (int) Sel.GetXpathCount("//a[@class='wlcategoryLinkBold']/@href");
for (int i = 1; i <= se; i++)
{
if (Sel.IsElementPresent("//a[@class='wlcategoryLinkBold']/@href[" + i + "]"))
{
string value = Sel.GetSelectedLabel("//a[@class='wlcategoryLinkBold']/@href[" + i + "]");
topics.Add(value);
}
}
string[] arrTopics = topics.ToArray();
return arrTopics;
}
我该如何使用
/html/body/table/tbody/tr/td[2]/table/tbody/tr/td[2]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr/td[4]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[3]/td[2]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[3]/td[4]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[5]/td[2]/font/a
/html/body/table/tbody/tr/td[2]/table/tbody/tr[5]/td[4]/font/a
.
.
.
而不是 Sel.GetXpath() 中的 ("//a[@class='wlcategoryLinkBold']/@href)?我看到我需要另一个循环来处理 tr[3]、tr[5]、时差 [2],时差 [4]。