当前位置: 首页 > 知识库问答 >
问题:

Selenium.Click在等待操作完成时超时

郦昆
2023-03-14

我正在Eclipse中使用Java运行selenium RC。我遇到的问题是selenium.click命令。我点击的链接加载一个新页面。有时需要5秒,有时需要2-3分钟。每次我看到页面加载时,在我的测试失败后,我立即得到消息“Timed out waiting for action to finish”。

我尝试使用Selenium.IsElementPresent检查正在加载的页面。但是,当我在调试模式下运行时,我注意到它从来没有通过硒。据我所知,在selenium.click命令中内置了一个等待。所以我的问题是,有人知道如何忽略内置的wait,这样我就可以使用Selenium.IsElementPresent了吗?

selenium.click(Link);
for (int i = 0; i < 60 ; i++) {
    if (selenium.isElementPresent(Home)) {
       break;
    }
    Thread.sleep(1000);
}

共有1个答案

蓬思博
2023-03-14

我也经历过同样的问题。我只是用try/catch包装了click命令,以便捕获错误,然后执行assert标题并检查页面上的预期文本。

 类似资料:
  • 现在我想让所有的期货最多等待n秒,直到全部完成。我知道我可以调用,但是如果我在循环中对我的所有期货顺序地调用它,则超时开始增加。伪代码: 块会出现超时,直到结果就绪。因此,如果第一个在超时之前完成,第二个也在超时之前完成,依此类推,则整个执行时间最多为而不是。 因此,我正在寻找一个方法,它接受的列表和一个超时,并行运行所有的结果,然后返回一个未来结果的集合。有什么想法吗?

  • 问题内容: 我不确定如何处理这种情况,因为我是iOS开发和Swift的新手。我正在像这样执行数据获取: 我的loadShows()函数解析从加载到UIWebView的网站中获取的大量数据。问题是我在loadShows函数中有一个等待10秒钟左右的计时器。这允许页面中的javascript在开始解析数据之前完全加载。我的问题是完成处理程序在我的loadShows()之前完成。 我想做的是为“ isC

  • 它是100%保证的线程,首先得到wait_for_completion_timeout会唤醒第一次调用完成?也许我错了,但是我看了下面的场景:线程A调用wait_for_completion_timeout并进入睡眠。当完成被调用时,它醒来并完成执行在函数do_wait_for_common。现在假设另一个线程B调用wait_for_completion_timeout. x- 然后继续睡觉。所以

  • 我有一个redux saga设置,工作正常。我的一个分派任务是创建一个新订单,然后一旦创建了订单,我就想用更新后的状态做一些事情。 由于 createOrder 操作触发调用 API 的重订传奇,因此存在延迟,因此在我的函数 do 之前不会更新此 .props.user 命令某些内容被调用。我可以设置一个超时,但这似乎不是一个可持续的想法。 我已经阅读了有关Stack Overflow的类似问题,

  • 我是Selenium的新手。我正在尝试使用Selenium自动执行网页中表格的过滤(按type=New)和排序(按日期降序)步骤。我使用函数sendKeys()和Click()进行这些操作。 我在sendKeys和click函数之间使用了Thread.sleep(1000 ),以便在对列表进行排序之前按照类别对其进行过滤。 有没有办法让代码等到页面在sendKeys()之后被过滤,然后继续点击操作

  • 在Bash脚本中,我想做如下操作: 一、 例如,在后台启动两个应用程序,并给他们60秒时间完成工作。然后,如果他们没有在这段时间内完成,就杀了他们。 不幸的是,上面的方法行不通,因为< code>timeout是一个可执行文件,而< code>wait是一个shell命令。我试着把它改成: 但是这仍然不起作用,因为< code>wait只能在同一个shell中启动的PID上调用。 有什么想法吗?