0

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

问题是:

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

试过这种方法:

  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)。但是,鼠标悬停不起作用。

4

1 回答 1

1

您为什么不执行以下操作:

//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 Robot 类。

于 2013-10-30T19:19:08.840 回答