python - 让 Selenium 等待 10 秒

标签 python selenium

是的,我知道这个问题经常被问到,但我还是不明白。无论如何,我想让 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)库/程序能够完成这项任务?对于 Javas Selenium,这似乎不是问题...

最佳答案

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

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

implicitly_wait - 指定驱动程序在搜索元素时应等待的时间(如果元素未立即出现)。

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

更多信息请访问this page . (文档针对 JAVA 绑定(bind),但所有绑定(bind)的功能应该相同)

因此,如果您想等待 selenium(或任何脚本)10 秒或任何时间。那么最好的办法就是让该线程休眠。

python 中会是

import time 
time.sleep(10)

在 Java 中执行此操作的最简单方法是使用

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

关于python - 让 Selenium 等待 10 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347675/

相关文章:

python - 如何在 Django get_context_data 方法中访问模型的外部集合的元素?

python - 如何将列表中的随机值分配给同一行的另一列中不存在的新列?

Python:整数与列表的 "Chained definition"

javascript - 在selenium中执行滚动到 View 脚本时出现空指针异常

java - java中的Selenium无法识别类名

python - selenium.common.exceptions.ElementNotVisibleException : Message: element not interactable using Selenium

python - 如何在 pyqt5 网络浏览器中为 YouTube 视频创建全屏模式

java - WebElement.isDisplayed 方法搜索元素可见性所需的最长时间?

ruby-on-rails - rails : Capyabra/Selenium Chrome-Driver Settings

python - 如何通过匹配每个 "(a, b), (b, c), (c, d)"的第一个和最后一个值来对元组进行排序