Selenium为什么需要页面等待

  • 页面等待
    大多数Web应用程序都是使用Ajax和Javascript开发的。当浏览器加载页面时,我们想要与之交互的元素可能以不同的时间间隔加载。它不仅难以识别元素,而且如果元素未定位,它将抛出“ ElementNotVisibleException ”异常。使用Waits,我们可以解决此问题。

页面等待
def wait_page():
    #     隐式等待
    browser = webdriver.Chrome()
    browser.get("https://www.zhihu.com/explore")
    browser.implicitly_wait(1)
    elments = browser.find_element_by_class_name("ExploreFollowButton")
    print(elments)

    #     显式等待
    browser.get("https://www.taobao.com/")
    wait = WebDriverWait(browser,1)
    input = wait.until(EC.presence_of_element_located((By.ID,'q')))
    button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'.btn-search')))
    print(input,button)
wait_page()
#等待的条件 | 含义
#title_is | 标题是某内容
#title_contains | 标题包含某内容
#presence_of_element_located | 节点加载出来,需要传入定位元组,如By.ID,'q'
#visibility_of_element_located | 节点可见,传入定位元组
#visibility_of | 传入的节点对象可见
# element_to_be_clickable | 节点可被点击
#staleness_of | 判断一个节点是否仍在DOM中,可以判断页面是否被刷新
#alert_is_present | 判断警告框是否弹出
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,169评论 0 3
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 10,149评论 0 0
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 7,412评论 0 7
  • 五十三:请解释 JavaScript 中 this 是如何工作的。1.方法调用模式当一个函数被保存为一个对象的属性...
    Arno_z阅读 3,770评论 0 2
  • 今天是假期的第一天,经过昨天的返校,闺女放学后就跟同学聚餐,去玩,直到晚上九点才进家门,感谢咱们大中国,可以晚上...
    奔跑的小芳阅读 1,756评论 0 1

友情链接更多精彩内容