在侧边栏菜单中,我想移动到菜单项。我使用此代码:
@FindBy(xpath =" .//* [@ id =' sidebar-wrapper'] / ul // a [contains(text(),' Contact&#39 ;)]&#34) WebElement contactLink;
public void clickHamburgerMenuAndContactLink() {
Actions action = new Actions(driver);
action.click(hamburgerMenu).moveToElement(contactLink, 0, 0).click().perform();
}
这大部分时间都有效,虽然它也经常失败(行为似乎不稳定)。
首先,我尝试移动而不提及x和y Offset仅使用webelement contactlink作为moveToElement方法中的参数。这根本不起作用,我不明白为什么。我在perform()之前也尝试使用build(),但这没什么区别。
答案 0 :(得分:0)
不稳定的行为可能是由于动画效果导致联系链接不稳定。我会等待关闭按钮,因为一旦菜单到达其最终位置就显示它:
public void clickHamburgerMenuAndContactLink() {
WebDriverWait wait = new WebDriverWait(driver, 10000);
hamburgerMenu.click();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("menu-close")));
contactLink.click();
}