Selenium Web驱动程序单击图像

时间:2016-05-31 19:22:35

标签: java selenium selenium-webdriver qa

如何选择图像并使用Selenium网络驱动程序点击它?如果它说这个

<style type="text/css"> <ul id="nav"> <li> <li> <li> <li> <li> <a href="dashboard.action">My Dashboard</a> </li> </ul>

我会使用

吗?
driver.findElement(By.linkText("My Dashboard")).click();

或其他什么?

3 个答案:

答案 0 :(得分:1)

如果你想点击你的例子中的链接,你可以使用你写的选择器,不同种类的css选择器(例如,By.cssSelector("#nav a")(寻找&#34内的链接; nav&#34 ; list)或By.cssSelector("a[href='dashboard.action']")(查找具有特定href的链接))或使用xPath选择器。

答案 1 :(得分:1)

重要的是要有一个唯一标识符来定位您的元素以及将在100%的时间内触发的标识符。

例如,如果您希望更改链接文字,那么请不要查找该特定链接文字,因为您无法保证它会在100%的时间内正常工作。

同样,如果有30个不同的元素具有相同的id标记,也不要使用它。

如果事情变得非常复杂......也就是说,如果你在一个包含大量未知变量的大页面中,请按XPATH查找。

最后,它实际上取决于您输入的网站的复杂程度,以及您需要完成的目标。

有关详细信息,请转到Selenium javadocs并单击侧栏上的BY以获取不同方法的列表以及如何使用它们。

答案 2 :(得分:0)

如果您需要单击带有图像的链接,则最好在显式等待下找到元素。

示例:

新的WebDriverWait(驱动程序,超时).until(ExpectedConditions.presenceOfElementLocated(locator));