1. ホーム
  2. java

[解決済み] Javaを使用してSelenium WebDriverでマウスオーバー機能を実行する方法は?

2022-05-10 10:26:45

質問

ドロップダウンメニューにマウスオーバー機能をつけたいのですが、どうすればいいですか?メニューにマウスを乗せると、新しいオプションが表示されます。 xpathを使用して新しいオプションをクリックしようとしました。しかし、メニューを直接クリックすることはできません。 だから、手動として私はドロップダウンメニューにカーソルを置くしようとしているし、新しいオプションをクリックします。

Actions action = new Actions(webdriver);
WebElement we = webdriver.findElement(By.xpath("//html/body/div[13]/ul/li[4]/a"));
action.moveToElement(we).build().perform();

解決方法は?

そのため、「マウスホバー」アクションを実行することはできません。代わりに、実現したいアクションをすべて一度に連鎖させる必要があります。つまり、他の要素を表示する要素に移動し、同じ連鎖の間に、今表示されている要素に移動し、それをクリックします。

アクションチェーンを使うときは、「ユーザーがするように」行うことを忘れてはいけません。

Actions action = new Actions(webdriver);
WebElement we = webdriver.findElement(By.xpath("html/body/div[13]/ul/li[4]/a"));
action.moveToElement(we).moveToElement(webdriver.findElement(By.xpath("/expression-here"))).click().build().perform();