Java org.openqa.selenium.ElementNotVisibleException(Wait.until(ExpectedConditions))不等待?

Java org.openqa.selenium.ElementNotVisibleException(Wait.until(ExpectedConditions))不等待?,java,html,selenium,selenium-firefoxdriver,firefox-driver,Java,Html,Selenium,Selenium Firefoxdriver,Firefox Driver,基本信息: Selenium WebDriver, 日食, JAVA Firefox驱动程序 我收到这个错误: ` ` 调用get()后,当I到达页面时,就会发生这种情况 下面是我必须等待元素可见的代码: WebDriverWait wait = new WebDriverWait(driver, 20); for(int counter = 25; counter < 50; counter++){ // Navigate to Site

基本信息: Selenium WebDriver, 日食, JAVA Firefox驱动程序

我收到这个错误:

`

`

调用get()后,当I到达页面时,就会发生这种情况

下面是我必须等待元素可见的代码:

WebDriverWait wait = new WebDriverWait(driver, 20);

 for(int counter = 25; counter < 50; counter++){  
                  // Navigate to Site

                  driver.get("https://sandbox.webcomserver.com/wpm/adminHome.do?&tenantName=walkme_test");


                  //Wait for SmartTip to be visible

                 // wait.until(ExpectedConditions.visibilityOfElementLocated((By.cssSelector("a#helpLink"))));

                  //Wait for Widget to be visible (Could be a method? MyClass.openWidget() ?

                  wait.until(ExpectedConditions.visibilityOfElementLocated((By.id("walkme-player"))));
                  driver.findElement(By.id("walkme-player")).click();

                 //Start Add Status to WorkFlow WT
                  wait.until(ExpectedConditions.visibilityOfElementLocated((By.cssSelector("div.walkme-walkthru-219559"))));
                  driver.findElement(By.cssSelector("div.walkme-walkthru-219559")).click();

                  //Wait for Step (Hover over Workflows) to be visible
                  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("walkme-balloon-2412584")));

我很确定它只是在加载元素之前将其评估为不可见,因为它偶尔会工作。我甚至尝试添加一个隐式等待,
thread.sleep()
,它仍然没有等待。不知道还有什么要做。

你的元素在
iFrame
中吗?不,它不在iFrame中。它在html/body/div中。你可以共享网站URL吗?很遗憾,尽管我很想,我不能,因为它是一个客户网站。我必须包含凭据,你才能看到它。这是更多html的图片,还有元素我希望它等待可见。我在你的html中看到一些iframe标记。可能你的元素在iframe下再次检查。你需要切换到iframe来定位元素你的元素在
iframe
中吗?不,它不在iframe中。它在html/body/div中。不幸的是,尽管我想,你可以共享网站URL吗?我不能因为它是一个客户网站。我必须包含凭据才能让您查看。这是更多HTML的图片,以及我希望它等待可见的元素。我在您的HTML中看到一些iframe标记。可能您的元素在iframe下。请再次检查它。您需要切换到iframe以定位该元素
WebDriverWait wait = new WebDriverWait(driver, 20);

 for(int counter = 25; counter < 50; counter++){  
                  // Navigate to Site

                  driver.get("https://sandbox.webcomserver.com/wpm/adminHome.do?&tenantName=walkme_test");


                  //Wait for SmartTip to be visible

                 // wait.until(ExpectedConditions.visibilityOfElementLocated((By.cssSelector("a#helpLink"))));

                  //Wait for Widget to be visible (Could be a method? MyClass.openWidget() ?

                  wait.until(ExpectedConditions.visibilityOfElementLocated((By.id("walkme-player"))));
                  driver.findElement(By.id("walkme-player")).click();

                 //Start Add Status to WorkFlow WT
                  wait.until(ExpectedConditions.visibilityOfElementLocated((By.cssSelector("div.walkme-walkthru-219559"))));
                  driver.findElement(By.cssSelector("div.walkme-walkthru-219559")).click();

                  //Wait for Step (Hover over Workflows) to be visible
                  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("walkme-balloon-2412584")));
<div id="walkme-player" class="walkme-player walkme-colorado walkme-theme-white-green walkme-direction-ltr walkme-notie walkme-position-major-bottom walkme-position-minor-right  walkme-dynamic-size walkme-to-destroy walkme-override walkme-css-reset walkme-language-default" style="display: block; bottom: 0px;" data-inanimation="0">
    <div class="walkme-in-wrapper walkme-override walkme-css-reset" style="width: 154px;">
        <div class="walkme-question-mark walkme-override walkme-css-reset"></div>
        <div class="walkme-title walkme-override walkme-css-reset">Need help?</div>
    </div>
</div>