java - 如何使用 webdriver 在鼠标悬停时保持下拉菜单打开

标签 java webdriver selenium-webdriver

我有以下代码:

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/

相关文章:

java - 如何使用AWS SQS和SNS向网站发送通知消息?

java - 根据格式字符串格式化数字字符串

c# selenium 通过导航验证所有链接 StaleElementReferenceException 控制台应用程序

javascript - jni.h 文件未找到 - 在 OS X El Capitan 上安装 node-java 模块

java - JBehave - 一个故事中不可能有多个结果吗?

java - 确保恶意 apk 没有与我的服务器通信

java - 强制停止后关闭残留的 Selenium WebDriver 实例

python - 如果类名是数字,则无法按类名获取元素

java - Selenium java - 切换到并读取 xml 选项卡

jquery - 使用 selenium webdriver 单击 jquery 菜单项