使用 Python 的 Selenium 中,隐式等待和显式等待有什么区别?


隐式等待和显式等待之间的区别如下所示:


隐式等待显式等待
1要求驱动程序等待特定时间,以便元素在页面 DOM 中可用。
要求驱动程序等待,直到满足某个条件。
2它是全局等待,适用于网页上的所有元素。
它不是全局等待,适用于特定场景。
3它不需要满足任何条件。
它需要满足特定条件。一些预期的条件包括:
  • title_contains
  • visibility_of_element_located
  • presence_of_element_located
  • title_is
  • visibility_of
  • element_selection_state_to_be
  • presence_of_all_elements_located
  • element_located_to_be_selected
  • alert_is_present
  • element_located_selection_state_to_b e
  • staleness_of
  • element_to_be_clickable
  • invisibility_of_element_located
  • frame_to_be_available_and_switch_to _it
  • text_to_be_present_in_element_value
  • text_to_be_present_in_element
  • element_to_be_selected
4语法
driver.implicitly_wait(2)
语法
w = WebDriverWait(driver, 7)
w.until(expected_conditions.presence_of_ele
ment_located((By.ID, "Tutorialspoint")))
5它简单易于实现。
与隐式等待相比,它的实现更复杂。
6它会影响执行速度,因为每个步骤都会等待此等待,直到找到它正在寻找的元素。
它不会影响执行速度,因为它适用于页面的特定元素。
7它不会捕获应用程序中的性能问题。
它可以捕获应用程序中的性能问题。

更新于: 2020-07-28

11K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告