我试图在下面的 HTML 代码中使用 junit 查找元素:
<div id="leftNav_updateProfile" class="leftNavBullet">
<ul>
<li>
<a href="http://my.naukri.com/Profile/edit?id=&altresid=">
<span class="gryTxt">• </span>
Snapshot
</a>
</li>
</ul>
</div>
我很困惑,因为我是 selenium 的新手,如何在此代码中找到元素。 让我尝试解释实际情况,即我要实现的目标。在 GUI 上有一个按钮“快照”,代码在上面。我尝试使用 xpath 查找此按钮的元素:
driver.findElement(By.xpath("//[@id='leftNav_updateProfile']/ul/li/a[1]")).click();
但是它不起作用。请帮助我如何在这种情况下找到元素。 我只是想通过 Xpath 实现它并不重要,任何方法都会有用。
最佳答案
我发现 CssSelector
更易于使用。你的情况:
driver.findElement(By.CssSelector("#leftNav_updateProfile ul li a")).click();
如果您是 CSS 选择器的新手,这里有一些提示:
标签按原样编写(示例见ul
)
#
在 id 之前(参见示例中的 leftNav_updateProfile
)
.
位于类名之前(如果我们在您的示例中以span
为目标,我们将编写.gryTxt
)
暗示后代 - 放一个空格(例如 ul li a
表示:a
是 li
的后代,它是ul
)
进一步了解try this
关于css - 如果 xpath 和类名相同,如何在 Selenium Web 驱动程序中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33730647/