Selenium使用x和y坐标查找web元素

Selenium使用x和y坐标查找web元素,selenium,selenium-webdriver,Selenium,Selenium Webdriver,到目前为止,我知道如何单击通过x和y坐标的web元素,但无论如何都可以通过通过x和y坐标找到web元素。例如,如果我通过(400400),是否有一个方法来查找某个web元素是否存在于该坐标处,并将该web元素返回给我。我很长一段时间都在试图找到这个,但是运气不好。提前感谢您可以尝试构建一个匿名函数库,该函数库返回一个包含x,y pos映射的数组,然后,给出一个范围来测试映射中的x,y,可以找到一些元素,如div或img您可以尝试构建一个匿名函数库,该函数库返回一个包含x,y pos映射的数组,然

到目前为止,我知道如何单击通过x和y坐标的web元素,但无论如何都可以通过通过x和y坐标找到web元素。例如,如果我通过(400400),是否有一个方法来查找某个web元素是否存在于该坐标处,并将该web元素返回给我。我很长一段时间都在试图找到这个,但是运气不好。提前感谢

您可以尝试构建一个匿名函数库,该函数库返回一个包含x,y pos映射的数组,然后,给出一个范围来测试映射中的x,y,可以找到一些元素,如div或img

您可以尝试构建一个匿名函数库,该函数库返回一个包含x,y pos映射的数组,然后,给出一个范围来测试映射中的x,y,可以找到一些元素,如div或img,尽管这不是一个好方法,但是如果您知道web元素的确切坐标,那么您可以尝试类似的方法

WebDriver driver=new FirefoxDriver();
driver.get("http://newtours.demoaut.com/");
Object obj = ((JavascriptExecutor)driver).executeScript("return document.elementFromPoint(342, 89);");
if (obj instanceof WebElement) {
      ((WebElement) obj).click();
}

虽然这不是一个好方法,但是如果您知道web元素的确切坐标,那么您可以尝试这样的方法

WebDriver driver=new FirefoxDriver();
driver.get("http://newtours.demoaut.com/");
Object obj = ((JavascriptExecutor)driver).executeScript("return document.elementFromPoint(342, 89);");
if (obj instanceof WebElement) {
      ((WebElement) obj).click();
}

据我所知,答案是否定的。我认为目前为止这是不可能的。据我所知,答案是否定的。我认为目前为止这是不可能的