【问题标题】:Selenium locating element by image source图像源的硒定位元素
【发布时间】:2014-12-16 10:20:45
【问题描述】:

我正在尝试使用 selenium webdriver 2.39 版、eclipse-kepler、IE11 单击一个元素。

我收到以下错误:

线程“主”org.openqa.selenium.NoSuchElementException 中的异常: 无法使用 xpath == 找到元素 //img[@src='images/style/default/menubar_menubutton.png'](警告: 服务器没有提供任何堆栈跟踪信息)

给我同样错误的其他事情是:

(By.xpath("//div[contains(@src,'images/style/default/menubar_menubutton.png')]"));


(By.xpath("//div[(@src,'images/style/default/menubar_menubutton.png')]"));


(By,xpath("//img[contains(@src,'images/style/default/menubar_menubutton.png')]"));

【问题讨论】:

  • 你能告诉我你的包含 标签的 html
    标签吗?
  • 我正在和 Ayushi 一起做同样的事情。 div 实际上并不包含 标签。 Internet Explorer 突出显示的 div 是 -
  • 您将无法使用 src 找到该元素,因为它不是直接属性。
  • 有没有办法找到这个元素?
  • 这个问题解决了吗?我在另一个网站上遇到了同样的问题。
  • 标签: java selenium selenium-webdriver browser-automation


    【解决方案1】:

    这里尝试使用 CSS 选择器:

    WebElement tempImg = driver.findElement(By.cssSelector("img[src='images/style/default/menubar_menubutton.png']"));
    

    【讨论】:

      【解决方案2】:

      试试这个;

      WebElement temp = driver.findElement(By.xpath("//img[contains(@src,'images/style/default/menubar_menubutton.png')]"));
      

      【讨论】:

        【解决方案3】:
        WebElement temp = driver.findElement(By.xpath("//*[contains(@src,'images/style/default/menubar_menubutton.png')]"));
        

        【讨论】:

        • 这是上一个答案的精确副本。
        • "*"请找区别
        • 请提供一些解释以及它与其他答案的不同之处。
        • 上面提到的,因为他已经尝试使用//div//img,使用//*,它将选择所有包含@src,'images/style/default/menubar_menubutton.png'的标签
        • @NitishKumar - 我强烈建议您将这些信息编辑到您的答案中。除了代码之外,为您的答案所提议的内容提供一些描述性文字总是对未来的读者有所帮助。
        猜你喜欢
        相关资源
        最近更新 更多
        热门标签