按名称获取元素ID

时间:2014-08-31 09:50:10

标签: c# watin

所以基本上现在我有一些代码,我试图用C#中的WatIN来操作它#

 <li class=" p-pstctgry-li-ctgry">
    <a class="p-pstctgry-lnk-ctgry " id="cat_18297" href="#"><span class="c-icon c-icon-category c-icon-category-18297"></span>Arts &amp; Crafts</a>
    </li>

 <li class=" p-pstctgry-li-ctgry">
    <a class="p-pstctgry-lnk-ctgry " id="cat_20000" href="#"><span class="c-icon c-icon-category c-icon-category-20000"></span>Computers</a>
    </li>

我想要做的是捕获元素上的所有ID和标签。例如18297,Arts&amp;工艺品。

页面上有一些这样的内容,所以我想全部挑选它们并找到一种我可以轻松引用它们的方法。所以说,Catagory是计算机然后转到id ='cat_20000'

任何人都知道如何完成这项工作?

2 个答案:

答案 0 :(得分:0)

这可以通过jQuery轻松捕获。有什么特别的理由从C#代码中获取它们吗?

答案 1 :(得分:0)

尝试以下代码,也可以进行优化。在foreach循环中,您可以获取整个文档中的所有链接,或者如果您知道可以从特定父级中选择这些链接,那么您可以通过parent.Links

        Dictionary<string, string> lnksValues = new Dictionary<string, string>();
        foreach (Link lnk in driver.Links)
        {
            if (!string.IsNullOrEmpty(lnk.Id))
            {
                if (lnk.Id.Contains('_'))
                {
                    lnksValues.Add(lnk.Id.Split('_')[1], lnk.Text);
                }
            }
        }