0

以下のコードで webdriver を使用してマウスオーバーを自動化できません。誰かが解決策を教えてくれたら幸いです

Actions builder = new Actions(driver); 
WebElement el=driver.findElement(By.linkText("Account"));
System.out.println(el.getText());
builder.moveToElement(el);
Thread.sleep(5000);
WebElement ele1=driver.findElement(By.xpath("/html/body/form/div[3]/div/div/div[2]/ul/li[4]/div/ul/li[4]/a"));
System.out.println(ele1.getText());
builder.moveToElement(ele1);
builder.click();
builder.perform();
Thread.sleep(5000L);

org.openqa.selenium.NoSuchElementException: 要素が見つかりません: {"method":"xpath","selector":"/html/body/form/div[3]/div/div/div[2]/ul/ li[4]/div‌ /ul/li[4]/a"}

ドロップダウン要素を識別していないため、メニューの項目が表示されません。これがこのエラーの原因です。

4

1 に答える 1

0

SUT が含まれていなかったことがわかりました。また、不適切な xpath に問題があることがわかりました。それを修正する必要があります。実際の xpath がわからない場合。おそらく、スクリプトからコンテキストを取得するには、Selenium IDE を使用する必要があります。

一旦整理。マウスオーバーを刺激するために次のことを試すことができます。

WebElement element = driver.findElement(By.xpath("/html/body/form/div[3]/div/div/div[2]/ul/li[4]/div/ul/li[4]/a"));
Locatable hoverItem = (Locatable) element;
Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseMove(hoverItem.getCoordinates());
于 2013-06-12T09:03:37.207 に答える