我有以下代码:
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
(一个复选框)
最佳答案
通常我希望一个 Action 链像这样连接在一起:
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”在尝试悬停并单击它之前可见。
关于java - 如何使用 webdriver 在鼠标悬停时保持下拉菜单打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13066706/