Selenium Web驱动程序单击图像

问题描述 投票:0回答:3

如何选择图像并使用Selenium Web驱动程序单击它?如果是这样说的话

<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();

或者是其他东西?

java selenium selenium-webdriver qa
3个回答
1
投票

如果要单击示例中的链接,可以使用您编写的选择器,不同类型的css选择器(例如,By.cssSelector("#nav a")(查找“nav”列表中的链接)或By.cssSelector("a[href='dashboard.action']")(查找具体的链接) href))或使用xPath选择器。


1
投票

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

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

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

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

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

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


0
投票

如果需要单击带有图像的链接,最好使用显式等待来定位元素。

示例:

new WebDriverWait(driver,timeout).until(ExpectedConditions.presenceOfElementLocated(locator));

© www.soinside.com 2019 - 2024. All rights reserved.