【问题标题】:Selenium / ChromeDriver - Clicking in the center of an elementSelenium / ChromeDriver - 单击元素的中心
【发布时间】:2016-05-28 03:35:11
【问题描述】:

所以我今天遇到了一个我没有经历过的新问题,它与 Chrome 驱动程序的性质有关(我相信 Chrome 是唯一一个这样做的......)。我知道,当您使用 .click() 单击元素时,它会在中心单击。然而,这令人不安,因为我试图单击一个复选框,而该复选框恰好有一个嵌套在中心的链接。

我也尝试过使用 JavaScript 执行器,但没有运气。有谁知道解决这个问题的方法吗?是的,我只尝试访问该框,但它没有我可以使用的标识符..

【问题讨论】:

  • 可以添加html吗?
  • @guy 好吧,我加了。
  • 它不显示复选框 html。它应该在<label> 标记之上。

标签: java selenium-webdriver automation selenium-chromedriver


【解决方案1】:

由于您没有在此处添加复选框 html,因此我假设它类似于:

<input type="checkbox" id="checkbox_id">
<label for="checkbox_id">Something</label>

所以你只需要点击输入而不是标签。它看起来像这样:

driver.findElemnt(By.id("checkbox_id")).click();

或者使用 xPath:

 driver.findElemnt(By.xpath("//input[@type='checkbox']")).click();

【讨论】:

    【解决方案2】:

    您可以使用坐标点击

    坐标 co = element.getCoordinates();

    【讨论】:

      【解决方案3】:

      这个问题可以通过两种方法解决

      方法一:找到checkboxx的正确xpath使用默认点击

      driver.findElement(By.xpath("CheckBoxXPath").click();

      方法2:如果你真的想点击WebElement的中心,那么你的Actions类方法click(WebElement target)这个方法点击WebElement的中心。 参考How to use Actions class clcik method

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-22
        • 1970-01-01
        • 2020-09-09
        • 1970-01-01
        • 2015-01-10
        • 2020-05-24
        • 1970-01-01
        相关资源
        最近更新 更多