无法使用webdriver定位图像的xpath

时间:2012-05-09 21:16:14

标签: xpath selenium automation webdriver

我正在尝试使用selenium Webdriver访问png图像中的标签:

div id="navbar6ClickDiv" 
a onclick="return hdlClick('navbar6ClickDiv', 'navbar')" target="workspace" href="/setup.htm"
img width="90" height="23" border="0" src="/xyz.png"

我尝试了以下方法来访问该标签,但没有任何效果:

  • 第一

    WebElement div = driver.findElement(By.id("navbar6ClickDiv"));   
                 div.click();
    
  • 第二

    WebElement div = driver.findElement(By.tagName("img").name("/images/banner/setupt.png"));
                                 div.click();
    
  • 第三

    WebElement div = driver.findElement(By.xpath("//img[contains(@src,'/images/banner/setupt.png')]"));
                 div.click();
    

2 个答案:

答案 0 :(得分:2)

当使用WebDriver测试DHTML / AJAX页面时,很常见的是WebDriver太快而无法通过互联网延迟和浏览器javascript来呈现页面。

该元素可能不存在尚未。在Java中,WebDriver WaitUntil习惯用于通过等待显示容器(例如div)来避免这种情况。

答案 1 :(得分:0)

第1步:

导出图像的完整CSS选择器。

css=a[onclick*='navbar6ClickDiv'] > img[src*='xyz.png']

第2步:

单击图像

driver.findElement(
  By.cssSelector("a[onclick*='navbar6ClickDiv'] > img[src*='xyz.png']")
).click();