【问题标题】:WebDriver with Java - click image to open a link带有 Java 的 WebDriver - 单击图像打开链接
【发布时间】:2016-06-16 09:31:59
【问题描述】:

点击 href 图像时,我需要在页面上打开一个链接。该链接似乎在 href 标记内。

我尝试使用driver.findElement(By.cssSelector("img.classItem")).click(); 打开链接,但页面似乎也不起作用。我正在使用谷歌浏览器驱动程序。

你能告诉我我需要做什么吗?

下面是我的代码

HTML 代码:

<a class="className" href="#">
 <img src="item.png" class="classItem" width="20" height="20">
 <span>Item</span>
</a>

Java 代码:

driver.findElement(By.cssSelector("img.classItem")).click();

感谢您的帮助。

【问题讨论】:

    标签: selenium selenium-webdriver css-selectors webdriver selenium-chromedriver


    【解决方案1】:

    页面上可能有许多超链接可能具有相同的类名。
    在定位此类超链接时,仅使用类名时可能会定位文档中的第一个元素。
    因此基于唯一的属性值,可以定位到元素Reference Link

    driver.findElement(By.cssSelector("a.className img[src='item.png']")).click();
    

    【讨论】:

      【解决方案2】:
      driver.findElement(By.xpath("//a[@class='className']/img")).click();
      

      【讨论】:

        【解决方案3】:

        看起来href 在父&lt;a&gt; 中。试试

        driver.findElement(By.cssSelector("a.className")).click();
        

        【讨论】:

        • @arunks 你有什么错误吗?还是只是点击而不做任何事情?
        • 它打开页面但之后没有做任何事情
        • @arunks 在新窗口中?
        • 我常用的网页打开并停留在那里,它没有点击a href链接打开链接
        • @arunks 你能把从测试开始到点击href的代码添加到问题中吗?我怀疑问题出在点击之前。
        猜你喜欢
        • 1970-01-01
        • 2022-06-17
        • 2017-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多