如何选择图像并使用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();
或其他什么?
答案 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));