我有以下代码:
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
(复选框)
答案 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”在尝试悬停并点击之前可见。