我正在尝试在Microsoft Edge上运行Selenium测试,但它们似乎根本不起作用。
我在Windows 10 Build 10586.842上运行,因此我下载了Microsoft WebDriver Release 10586.也使用了Microsoft EdgeHTML 13.10586。
这里没有任何作用。 无法通过className进行简单的查找。
@FindBy(className="login-load-logo") private WebElement logo;
这是我想要找到的一行:
<img class="login-load-logo" style="transition:none; top: 29px;" src="assets/images/logo-big.svg?v=f17fe5f5040aea3652ea417726b601437456196e">
这个小例程应该等待它变得可见:
private void waitForVisibility(WebElement element) throws Error {
try {
new WebDriverWait(driver, 60).until(ExpectedConditions.visibilityOf(element));
} catch (Exception e) {
System.out.println("An error has occurred in Alloy Home Page process.");
e.printStackTrace();
}
}
我在这里得到一个TimeoutException,即使我可以清楚地看到屏幕上的元素。
答案 0 :(得分:1)
尝试在您的方法中使用以下预期条件:
new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(element));
希望它可以帮到你!
答案 1 :(得分:0)
可以尝试使用以下内容:
@FindBy(XPATH="//img[@class='login-load-logo' and contains(@src,'assets/images/logo-big.svg')]")
private WebElement logo;
您的代码不会对您要对标识为元素的WebElement
执行的操作投入任何意见。接下来你试图在其上调用click()
mehtod,而不是ExpectedConditions
条,因为 visibilityOf()
尝试使用 elementToBeClickable(element)
如下:
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(element));