访问NAV元素内的链接

时间:2014-01-17 17:48:40

标签: c# html5 selenium

我正在尝试使用Selenium(C#)访问HTML元素,但我目前遇到了麻烦。该元素位于如下结构中:

<nav>
   <ul class="menu"> id="menu">
      <li id="ignore"> </li>
      <li id="test_tab">
         <a href="/.../..." title="Update">Update</a>
      </li>
   </ul>
</nav>

我需要访问并点击“更新”。访问此链接的最佳方法是什么?我试过.findElement(By.Id(“test_tab”))和类似的没有成功。一旦它被选中,我就打算打电话给.click()。

提前致谢。

2 个答案:

答案 0 :(得分:1)

很简单!首先,您需要确定接收点击的元素。在这种情况下,<a>将是。只需使用简单的css选择器。

driver.FindElement(By.CssSelector("ul#menu li#test_tab > a[title='Update']")).Click();

答案 1 :(得分:0)

您正在尝试选择li元素,因此无法单击该链接。选择“a”可能有多种选择。

1)

.findElement(By.LinkText("Update")).click()

2)

IWebElement update = driver.findElement(By.Id("test_tab"));
update = update.findElement(By.TagName("a"));
update.click();

3)您可以使用xpath直接选择“a”。