当前位置: 首页 > 面试题库 >

让selenium等待10秒

司徒骞尧
2023-03-14
问题内容

是的,我知道这个问题经常被问到,但是我还是不明白。我想让Selenium等待,无论如何。我尝试了这些方法

driver.set_page_load_timeout(30)
driver.implicitly_wait(90)
WebDriverWait(driver, 10)
driver.set_script_timeout(30)

和其他东西,但它不起作用。我需要selenium才能等待10秒。 NO 直到一些元素被加载或什么,只是等待10秒。我知道有这个

try:
   element_present = EC.presence_of_element_located((By.ID, 'whatever'))
   WebDriverWait(driver, timeout).until(element_present)
except TimeoutException:
    print "Timed out waiting for page to load"

我不要那个

如果要花几秒钟(无法实现)等待selenium,那么其他(python)库/程序将能够完成此任务?使用Java Selenium似乎没有问题…


问题答案:

您提到的所有API基本上都是超时,因此它将等待直到某个事件发生或达到最大时间。

set_page_load_timeout- 设置在引发错误之前等待页面加载完成的时间。如果超时为负,则页面加载可能不确定。

hiddenly_wait- 指定当元素不立即出现时,驱动程序在搜索元素时应等待的时间。

set_script_timeout- 设置在引发错误之前等待异步脚本完成执行的时间。如果超时为负,则将允许脚本无限期运行。

有关更多信息,请访问下一页。(有关Java绑定的文档,但所有绑定的功能应相同)
https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html#implicitlyWait-
long
-java.util.concurrent.TimeUnit-


因此,如果您想等待硒(或任何脚本)10秒钟或任何时间。那么最好的办法就是让该线程进入睡眠状态。

python

import time 
time.sleep(10)

在JAVA中

最简单的方法是使用

    try {
        Thread.sleep(10*1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }


 类似资料:
  • 问题内容: 如何让selenium等待日历小部件的加载?现在,我只是在将测试用例导出到junit程序后进行操作。 问题答案: 我会用 这将一直等待,直到元素出现在DOM中为止。 如果您需要检查元素是否可见,则最好使用

  • 我正在使用selenium web驱动程序3.4.0查找网站的响应时间。在较早的版本中,我使用了WebDriver wait=new WebDriverWait(driver,10);Wait.Until(ExpectedConditions.VisibilityOfElementLocated(By.id(“myid”)));查找加载的页面。 但这两行代码不适用于版本3.4.0。有没有其他方法可

  • 问题内容: 我正在研究Java Selenium-WebDriver。我加了 和 因为我的应用程序需要几秒钟来加载用户界面。所以我设置了2秒的隐式等待。但是我找不到元素文本框 然后我添加 现在工作正常。哪一个是更好的方法? 问题答案: 好吧,有两种类型的等待:显式和隐式等待。显式等待的想法是 隐式等待的概念是 你可以在此处获得细节上的差异。 在这种情况下,我宁愿使用显式等待(尤其是): 函数返回找

  • 我在做一个JavaSelenium-WebDriver 和 因为我的应用程序只需几秒钟就能加载用户界面。所以我设定了2秒的等待时间。但我找不到元素文本框 然后我添加

  • 我对Selenium和Python是新手。我可以浏览网站,找到元素并打印出来,但速度很慢 Python版本:3.10;Selenium WebDrive:Firefox;IDE:PyCharm 2021.3.2(CE);操作系统:Fedora 35 VM 我试图打印的元素的HTML代码: 我的Python Selenium找到了大部分时间都能正常工作的代码(但当服务器需要很长时间才能响应时失败):

  • 我正在尝试自动化基于共享点的应用程序,它有时会很慢。在下面的示例中,我试图将密码输入包装成显式等待。目前,Selenium以快速运行测试,导致无法执行操作。 如何将密码部分包装成硒显式方式?