0

Web要素の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 に答える