2012-11-05 34 views
0

基于名称单击超链接的最佳方式下面是html代码,这是我的.html页面的结构。我有一个很长的页面,但样品的目的,我只有三排,而在实际的网页我有数百什么是使用硒WebDriver c#

我的问题是:什么是完成以下任务的最佳方式:

我怎么会点击Add to Basket作为员工姓名John Steven(或其他任何名字)?

<table class="gvlist" cellspacing="0" border="0" id="ctl00_ctl00_Features_Features_ContentList_gv"> 
     <tr class="gvheader"> 
      <th> 
       Employee Name 
      </th> 
      <th> 
       Topic 
      </th> 
      <th> 
       Add Employee 
      </th> 
     </tr> 
     <tr class="gvrow"> 
      <td> 
       <a id="ctl00_employee_List_gv_ctl02_lnkPage" class="gvtitle" href="#" target="_blank"> 
        Erich Schulz</a> 
      </td> 
      <td> 
       <ul class="topiclist"> 
        <li class="ListItem" style="list-style: none"><a id="ctl00_employee_List_gv_ctl02_lbTopic" 
         class="InlineItemText" href="#">R&D</a> </li> 
       </ul> 
      </td> 
      <td> 
       <a id="ctl00_employee_List_gv_ctl02_lnkSelect" href="#" class="addpage">Add to Basket 
        List</a> 
      </td> 
     </tr> 
     <tr class="gvrow"> 
      <td> 
       <a id="ctl00_employee_List_gv_ctl03_lnkPage" class="gvtitle" href="#" target="_blank"> 
        John Steven</a> 
      </td> 
      <td> 
       <ul class="topiclist"> 
        <li class="ListItem" style="list-style: none"><a id="A2" class="InlineItemText" href="#"> 
         Development</a> </li> 
       </ul> 
      </td> 
      <td> 
       <a id="ctl00_employee_List_gv_ctl03_lnkSelect" href="#" class="addpage">Add to Basket 
        List</a> 
      </td> 
     </tr> 
     <tr class="gvrow"> 
      <td> 
       <a id="ctl00_employee_List_gv_ctl04_lnkPage" class="gvtitle" href="#" target="_blank"> 
        John McAfee</a> 
      </td> 
      <td> 
       <ul class="topiclist"> 
        <li class="ListItem" style="list-style: none"><a id="A5" class="InlineItemText" href="#"> 
         Tech</a> </li> 
       </ul> 
      </td> 
      <td> 
       <a id="ctl00_employee_List_gv_ctl04_lnkSelect" href="#" class="addpage">Add to Basket 
        List</a> 
      </td> 
     </tr> 
    </table> 

回答

2

可能有很多的可能性,但我会使用XPath去

.//a[contains(.,'John McAfee')]/ancestor::tr//a[@class='addpage'] 

其中“约翰·迈克菲可以通过可变

+0

完美,谢谢 –

0

传递这个

driver.findElement尝试( By.linkText(“添加到购物篮”))。click();