这是给予
陈旧元素引用:元素未附加到页面文档
我不能多次调用actions类的对象吗? 如果我创建一个新对象,那么它可以正常工作
public void actionMethods() throws Exception
{
Actions act = new Actions(driver);
WebElement ele1 = driver.findElement(By.xpath("//*[@id=\"menu-item-37\"]/a"));
act.moveToElement(ele1).build().perform();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id=\"menu-item-4868\"]/a")).click();
Thread.sleep(2000);
driver.navigate().back();
driver.navigate().refresh();
Thread.sleep(2000);
act.moveToElement(ele1).build().perform();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id=\"menu-item-4877\"]/a")).click();
Thread.sleep(3000);
}
答案 0 :(得分:0)
当您移动到不同的页面或甚至刷新当前页面时,driver
“会丢失”之前找到的所有元素。
ele1
过时,您需要在第二个act.moveToElement(ele1)
中使用它之前重新定位它。
driver.navigate().back();
driver.navigate().refresh();
Thread.sleep(2000);
// find ele1 again
ele1 = driver.findElement(By.xpath("//*[@id=\"menu-item-37\"]/a"));
act.moveToElement(ele1).build().perform();