2014-08-31 142 views
0

所以基本上现在我有一些代码,我想在C#与华廷操纵​​它获取元素ID由名称

<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,艺术品&工艺品。

在页面上有一些这样的东西,所以我想把它们全部选中并获得一种我可以轻松引用它们的方式。所以说,Catagory是计算机然后去id ='cat_20000'

任何人都有关于如何去完成这个想法?

回答

0

这可以很容易地通过jQuery捕获。从C#代码抓取它们的任何特定原因?

+0

试图让数据转换成C#项目的工作项目,他们希望我从网站上获取。 – 2014-08-31 10:55:20

+0

然后我会说...你需要玩正则表达式。捕获HTML(以解码格式)作为字符串,并尝试使用正则表达式获取必要的部分。 – 2014-09-01 07:04:19

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); 
       } 
      } 
     }