Selenium / ChromeDriver - 单击元素的中心

时间:2016-02-16 17:49:51

标签: java selenium-webdriver automation selenium-chromedriver

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

我也尝试过使用JavaScript Executor而且没有运气..有没有人知道这方面的方法?是的,我试过只是访问该框,但它没有我可以使用的标识符..

enter image description here

3 个答案:

答案 0 :(得分:0)

您可以点击使用坐标

  

坐标co = element.getCoordinates();

答案 1 :(得分:0)

由于你没有在这里添加复选框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 :(得分:0)

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

方法1:使用默认单击查找复选框x的正确xpath

driver.findElement(By.xpath(“ CheckBoxXPath”)。click();

方法2:如果您确实要单击WebElement的中心,则您的Actions类方法单击(WebElement目标),此方法将在WebElement的中间单击。 请参阅How to use Actions class clcik method