我有以下代码:
WebElement we = driver.findElement(By.className("status"));
WebElement we1 = driver.findElement(By.id("7oSL5I7egLSgqmGVYpF_lG6VyY3ZR7SArK6pYZVU3g"));
Actions builder = new Actions(driver);
builder.moveToElement(we).build().perform();
builder.moveToElement(we1).build().perform();
we1.click();
在这里,我正在对
we
元素执行鼠标悬停,但效果很好,但是我无法保持下拉菜单we
处于打开状态以供进一步选择we1
(复选框) 最佳答案
通常,我希望动作链像这样结合在一起:
builder.moveToElement(we).moveToElement(we1).click().perform();
然后,这应该在链中执行所有必需的操作,而不会暂停并且不会失去悬停焦点。当然,另一个选择是将其分为两个不同的动作,如下所示:
WebDriverWait wait = new WebDriverWait(driver, 15, 100);
builder.moveToElement(we).perform();
waiting.until(ExpectedConditions.visibiltiyOf(we1));
builder.moveToElement(we1).click().perform();
显式等待用于确保在尝试将鼠标悬停并单击之前,元素“ we1”是可见的。