如果xpath和类名相同,如何在Selenium Web驱动程序中查找元素

时间:2015-11-16 07:54:44

标签: css xpath

我正在尝试使用以下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上有一个Button&#34; Snapshot&#34;代码在上面。我试图使用xpath找到此按钮的元素:

driver.findElement(By.xpath("//[@id='leftNav_updateProfile']/ul/li/a[1]")).click(); 

但它不起作用。请帮我如何在这样的情况下找到元素。 我只希望通过Xpath实现它并不重要,任何方法都会有用。

1 个答案:

答案 0 :(得分:0)

我发现CssSelector更容易使用。你的情况:

driver.findElement(By.CssSelector("#leftNav_updateProfile ul li a")).click();

如果您是css选择器的新手,请点击以下几点:

标签按原样编写(参见示例中的ul

#位于 id 之前(请参阅示例中的leftNav_updateProfile

.位于类名之前(如果我们在您的示例中定位span,我们会写.gryTxt

暗示后代 - 放置一个空格(例如ul li a表示:ali的后代,ul的后代

进一步了解try this