0

使用 selenium 3.141.5(最新)和 java 8。现在我有一种情况,我需要等待网页上的特定元素在执行下一行之前加载。我正在尝试使用 ExpectedConditions java 类,但无法导入它。在 selenium 的 javadoc 中,我可以找到 ExpectedConditions 和 ExpectedCondition。[PSB]

static ExpectedCondition<WebElement> presenceOfElementLocated(By locator)

检查页面的 DOM 上是否存在元素的期望。

我没有使用任何 Maven 或任何其他工具。它只是eclipse、java和selenium。 图片来自我当地的日食

请帮忙。我只想等待特定元素被加载,然后再使用最新的 selenium 和 java 执行我的下一行代码。提前致谢!:) 我希望我已经尽力解释好,如果不是那么对不起

4

2 回答 2

0

我切换到 selenium 3.11,现在一切都按预期工作!在那里我可以使用 ExpectedConditions

谢谢

于 2018-11-21T08:13:01.957 回答
0

我正在使用 ExpectedCondition s

// modified wait method
public WebDriverWait wait_sec(WebDriver driver, int sec) {return new WebDriverWait(driver, sec);}

// example of usage one of ExpectedConditions
driver.get(url_portal);
WebElement fld_pwd = wait_sec(driver, 60).until(ExpectedConditions.elementToBeClickable(By.name("password")));
fld_pwd.click();
fld_pwd.sendKeys(sec_var.getPwd());

// example of negative usage
wait_sec(driver, 300).until(ExpectedConditions.not(ExpectedConditions.urlContains("#")));

探索 ExpectedConditions 对我的测试来说非常重要。

于 2018-11-08T12:09:15.133 回答