首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可见,但覆盖

可见,但覆盖
EN

Stack Overflow用户
提问于 2017-06-17 13:16:14
回答 2查看 37关注 0票数 1

我正在做一个使用selenium的脚本,在一个步骤中,它显示加载图标在webpage.The的中心加载图标出现后,第一行是执行

代码语言:javascript
复制
test.driver.findElement(By.id("oaapprove")).click();
test.driver.findElement(By.xpath("//*[text()='DATA EXPLORER']")).click();

第二个元素仍然在DOM中,但是它不能被点击,所以我得到了错误,因为它不能被点击

我试过这个:

代码语言:javascript
复制
Boolean isPresent=test.driver.findElements(By.xpath("//div[@class='spinner-container']")).size() > 0;
    if(isPresent)
    {
        System.out.println("Target element found");
    }
    while(test.driver.findElements(By.xpath("//div[@class='spinner-container']")).size() > 0)
    {
        try {
            System.out.println("inside");
            Thread.sleep(250);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    if(!(test.driver.findElements(By.xpath("//div[@class='spinner-container']")).size() > 0))
    {
        System.out.println("Target element not found");
    }

它正在打印"inside“,直到加载图标可见,但在图标消失后,它不会打印"inside”,而是等待7-8秒,然后执行下一条语句。等待的原因是什么?

你能告诉我怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2017-06-17 14:15:33

尝试actions类,如果它显示使用fluentwait,那么元素是可点击的:

代码语言:javascript
复制
WebElement yourElement = test.driver.findElement(By.xpath("//*[text()='DATA EXPLORER']"));

Actions act = new  Actions(test.driver);
act.moveToElement(yourElement).click().build().perform();
票数 0
EN

Stack Overflow用户

发布于 2017-06-18 20:27:17

我得到了解决方案并使用了stalenessOf

代码语言:javascript
复制
new WebDriverWait(driver, 10).until(ExpectedConditions.stalenessOf(findElement(By.xpath("element_path"))));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44601043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档