动作类对象



这是给

过时的元素引用:元素未附加到页面文档

我不能多次调用动作对象类吗? 如果我创建一个新对象,那么它可以正常工作

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();

最新更新