zoukankan      html  css  js  c++  java
  • 爬虫学习笔记之为什么要设置超时时间,怎么设置(使用selenium)

      一个程序没有设置超时时间,就可以说是一段有缺陷的代码。

      读取超时指的就是客户端等待服务器发送请求的时间。(特定地,它指的是客户端要等待服务器发送字节之间的时间。在 99.9% 的情况下这指的是服务器发送第一个字节之前的时间)。

      简单的说,连接超时就是发起请求连接到连接建立之间的最大时长,读取超时就是连接成功开始到服务器返回响应之间等待的最大时长。

    ***************************************************************************************************************************************************

      页面元素等待处理。

    显性等待:
    EC.presence_of_element_located((By.ID,"acdid"))
    util.browser.find_element_by_id("acdid").click()
    强制等待:
    可以用sleep(3),但是不是最好的方法

    隐性等待:# 隐性等待,最长等30秒
    driver.implicitly_wait(30) # 隐性等待和显性等待可以同时用,但要注意:等待的最长时间取两者之中的大者


    ******************************************************************************************************************************************

       来自灵魂的拷问1:没有设置超时时间,为什么没有什么影响呢?

      即使你不设置超时时间,在正常情况下,一个HTTP请求总是会返回结果,即使可能会耗时较长。对于一个负载不高的服务来说,潜在的问题没有暴露出来。


      来自灵魂的拷问2:什么情况下,没有设置超时时间会造成严重的影响呢?

      (1)与用户操作相关的接口,如果不设置超时时间,将会出现长时间的无响应,严重影响用户体验。

      (2)负载很高的系统,因为大量调用耗时长的接口,导致性能急剧下降,从而影响其他正常的业务
      (3)某些情况下,HTTP请求可能永远都得不到响应,那么这部分系统资源就一直被占用,直到系统奔溃。

  • 相关阅读:
    AfxMessageBox详细使用说明
    动态规划: 求一个一维整数数组的最大子序列和
    常见HTTP状态码
    PHP 基础系列(三) 【转】PHP 函数实现原理及性能分析
    empty() isset() isnull() 比较
    isset() 与 array_key_exists() 比较
    PHP基础系列(二) PHP数组相关的函数分类整理
    PHP基础系列(一) PHP字符串相关的函数分类整理
    linux df 命令
    grep 同时满足多个关键字和满足任意关键字
  • 原文地址:https://www.cnblogs.com/lumc5/p/11762589.html
Copyright © 2011-2022 走看看