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

对于找不到的元素,如何修改默认等待30秒?

阴鸿才
2023-03-14
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import perf_counter

driver = webdriver.Chrome()
driver.get(‘xxx')
driver.implicitly_wait(10)

try:
    start = perf_counter()
    dLfy_topic = WebDriverWait(driver,5).until(EC.presence_of_all_elements_located((By.XPATH, '//input[@qtype="302"]')))
except:
    during = perf_counter() - start
    print(during)
finally:
    if during > 10:
        print("You failed")
    else:
        print("You are successful")

30.538634446001失败

我真希望我等了十秒钟而不是三十秒钟!

共有1个答案

薛征
2023-03-14

Selenium中没有默认的30秒等待。

您所描述的行为是由在代码中的某个时刻设置30秒的隐式等待引起的。

您可以通过调用

driver.implicitly_wait(0)
 类似资料:
  • 问题内容: 我正在开发Chrome中的扩展程序,但我想知道:找出元素何时存在的最佳方法是什么?使用纯JavaScript,间隔检查直到元素存在,或者jQuery是否有一些简单的方法来执行此操作? 问题答案: 由于性能问题,不建议将其与其他DOM突变事件一起弃用- 推荐的方法是使用MutationObserver来监视DOM。不过,只有新的浏览器才支持此功能,因此您应该在不可用时退回。

  • 问题内容: 我在Python 2.7中使用selenium,并且有以下代码,但是我正在寻找一种更有效的方法: 问题答案: 您无需使用一段时间。它已经等待您在WebDriverWait()函数中显示的时间。

  • 我正在使用Android Espresso Web测试Android应用程序中的Web视图。它需要一些时间来完成与加载网站。在对元素执行单击操作之前,我需要等待它显示出来。我能用什么API吗?我不想使用sleep()方法。

  • 我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?

  • 问题内容: 我正在测试一个UI,在该UI中用户单击“删除”按钮,而表条目消失。因此,我希望能够检查表条目是否不再存在。 我曾尝试使用invert ,希望它的意思是“期望不存在指定的元素”。我的代码是这样的: 但是,我发现即使这样做,我也因一个说法说元素“ foo”不存在。当然,我想要的是没有这样的元素,但是我不希望引发异常。 那么,如何等待直到元素不再存在?我希望有一个示例,该示例尽可能不依赖于捕

  • 我想确定给定的字符串是否匹配中的元素之一(忽略大小写)。 我正试图用Java 8号溪流来实现这一点。下面是我使用的尝试: 但那不能编译。 我应该如何编码它以返回是否找到匹配?