3

我有以下代码:

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

4

1 回答 1

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

于 2013-02-18T08:44:03.693 回答