这是给
过时的元素引用:元素未附加到页面文档
我不能多次调用动作对象类吗? 如果我创建一个新对象,那么它可以正常工作
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);
}
当您移动到不同的页面甚至刷新当前页面时,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();