在Selenium Webdriver中,ExpectedCondition.elementToBeClickable不会等到进度条消失

在Selenium Webdriver中,ExpectedCondition.elementToBeClickable不会等到进度条消失,第1张

在Selenium Webdriver中,ExpectedCondition.elementToBeClickable不会等到进度条消失

ExpectedConditions.elementToBeClickable

如果condition为true则返回元素,这意味着如果元素出现在页面上并且是可单击的,则返回元素,无需再次查找此元素,只需省略最后一行,如下所示:-

//Click on Create Account btn:driver.findElement(By.id("createAccount")).click();//Wait till "Cancel" button is showing up. At cases, it may take some time.WebElement el = myWaitVar.until(ExpectedConditions.elementToBeClickable(By.id("cancelRegister")));el.click();

Edited1 :-如果由于其他元素而无法单击,则可以

JavascriptExecutor
单击以执行单击,如下所示:

//Click on Create Account btn:driver.findElement(By.id("createAccount")).click();//Wait till "Cancel" button is showing up. At cases, it may take some time.WebElement el = myWaitVar.until(ExpectedConditions.elementToBeClickable(By.id("cancelRegister")));((JavascriptExecutor)driver).executescript("arguments[0].click()", el);

Edited2
:-从提供的异常看来,进度栏仍覆盖在

cancelRegister
按钮上。因此最好的方法是先等待进度条的隐身性,然后等待
cancelRegister
按钮的可见性,如下所示:

//Click on Create Account btn:driver.findElement(By.id("createAccount")).click();//Now wait for invisibility of progress bar first myWaitVar.until(ExpectedConditions.invisibilityOfElementLocated(By.id("page_loader")));//Now wait till "Cancel" button is showing up. At cases, it may take some time.WebElement el = myWaitVar.until(ExpectedConditions.elementToBeClickable(By.id("cancelRegister")));el.click();

希望它能工作… :)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5489090.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存