• 爬虫学习笔记之为什么要设置超时时间,怎么设置(使用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请求可能永远都得不到响应,那么这部分系统资源就一直被占用,直到系统奔溃。

  • 相关阅读:
    互联网思维(1)
    互联网思维
    WLAN和WIFI的区别
    ping操作
    一篇关于正则表达式的小结
    javascript正则表达式
    为什么原型继承很重要 – SegmentFault
    JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型
    【转】前端开发文档规范
    我的第一篇博文
  • 原文地址:https://www.cnblogs.com/lumc5/p/11762589.html
Copyright © 2020-2023  润新知