在网页上查找元素时出现问题



webelement 的 id 是 mainPage:mainForm:j_id152:locationsPage:locsBlock:slTable:0:locNamePanel

问题是:

查找 WebElement。当将鼠标悬停在该网络元素上时,会出现需要单击的编辑链接。

尝试了这种方法:

  1. 向下滚动网页(以防万一)
  2. 通过 id 查找 webElement
  3. 获取该 webElement 的 X 和 Y 坐标
  4. 使用鼠标悬停

以下是代码:

//Finding the Webelement coordinates
int X= driver.findElement(By.id("mainPage:mainForm:j_id152:locationsPage:locsBlock:slTable:0:locNamePanel")).getLocation().getX();
int Y= driver.findElement(By.id("mainPage:mainForm:j_id152:locationsPage:locsBlock:slTable:0:locNamePanel")).getLocation().getY();
System.out.println("The coordinates are:-" +X +"---"+Y);
Robot robot = new Robot(); 
//Doing a mouse over for the X and Y coordinates
robot.mouseMove(X, Y);
//Clicking the Edit button
driver.findElement(By.id("mainPage:mainForm:j_id152:locationsPage:locsBlock:slTable:0:j_id207")).click();

问题:

X 和 Y 坐标正在返回(不确定这些坐标是否适用于我正在寻找的 WebElement)。但是,鼠标悬停不起作用。

你为什么不做下面这样的事情:

//Finding the WebElement
WebElement element = driver.findElement(By.id("mainPage:mainForm:j_id152:locationsPage:locsBlock:slTable:0:locNamePanel"));
Actions actionsProvider = new Actions(driver);
actionsProvider.moveToElement(element).perform();
//Clicking the Edit button
driver.findElement(By.id("mainPage:mainForm:j_id152:locationsPage:locsBlock:slTable:0:j_id207")).click();

这应该完成同样的事情,而不必依赖Java机器人类。

相关内容

  • 没有找到相关文章

最新更新