如何使用webdriver在鼠标悬停时打开下拉列表

时间:2012-10-25 10:35:03

标签: 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(复选框)

1 个答案:

答案 0 :(得分:0)

一般来说,我希望动作链能够像这样连接在一起:

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”在尝试悬停并点击之前可见。