全部产品
云市场

如何处理IE卡死(未响应)

更新时间:2019-09-18 15:38:35

在某些特定的环境下,IE会出现卡死(未响应)的情况,当出现此状态时所有的IE操作都会卡住并等待IE再次响应,在RPA中有默认的超时机制,如果操作的IE或其他win32程序在指定的超时时间(1小时)内未响应就会抛出rpa.core.Au3TimeoutError异常
要使用超时机制客户端版本必须为3.3.19及以上

示例代码:**

  1. rpa.it.settimeout(2*60) # 超时时间设置为2min
  2. def test_iecreate_timeout():
  3. """测试IE卡死的问题,当IE出现未响应状态时重试5次
  4. """
  5. for _ in range(5):
  6. try:
  7. # Win7+IE8下面的语句可能会导致IE未响应
  8. rpa.ie.create('https://www.microsoft.com/zh-cn/download/internet-explorer-11-for-windows-7-details.aspx')
  9. return
  10. except rpa.core.Au3TimeoutError: # 捕获超时异常
  11. print('操作超时, 原因可能是IE出现了未响应状态, 重试')
  12. # 初始化运行环境:
  13. # 境IE进入未响应状态后,所有的IE对象都将无法正常使用,这里需要清理所有的IE进程
  14. os.system('taskkill /f /im iexplore.exe')
  15. raise Exception('无法通过IE浏览器打开网页,请检查IE环境是否存在异常')
  16. def start():
  17. test_iecreate_timeout()