无法使用webdriver自动鼠标

时间:2013-05-28 05:58:05

标签: selenium-webdriver

我无法使用下面的代码使用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“}

它没有识别下拉元素。因此,菜单中的项目不可见。这就是导致此错误的原因。

1 个答案:

答案 0 :(得分: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());