XPath元素选择

时间:2015-11-24 13:22:30

标签: html selenium xpath selenium-webdriver

我正在尝试选择i元素,如下所示:

//div[contains(text(), "daddsadas@lol.com")]//parent//i[contains(@class, "fa fa-pencil")]

来自以下HTML:

<td ng-class="{true:'disable'}[contact.status=='deactive']">
  <div class="email ng-binding">daddsadas@lol.com</div>
    <div class="name">
      <table>
        <tbody>
          <tr>
            <td class="ng-binding">
              Test Last
            </td>
            <td>
              <i class="fa fa-pencil" ng-click="display_edit_contact_form(contact)"></i>
              <i class="fa fa-trash" ng-click="delete_contact(contact)"></i>
            </td>
         </tr>
       </tbody>
     </table>
  </div>
</td>

我似乎无法让它发挥作用。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:2)

您实际上可以使用following

来避免遍历树,上下移动
//div[. = "daddsadas@lol.com"]/following::i[contains(@class, "fa-pencil")]

答案 1 :(得分:1)

通过将xpath查询视为与文件系统相同来管理解决此问题:

//div[contains(text(), "daddsadas@lol.com")]/..//i[contains(@class, "fa-pencil")]