test.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import os
  2. import shutil
  3. from selenium import webdriver
  4. import time
  5. import threading
  6. import random
  7. frameIndex = 0
  8. iswork = 0
  9. threadNum = 0
  10. # def road_situation():
  11. # try:
  12. # # 每隔90秒截屏一次
  13. # t = threading.Timer(1, road_situation)
  14. # t.start()
  15. # # 初始化一个谷歌浏览器实例
  16. # driver = webdriver.Chrome()
  17. # driver.maximize_window()
  18. # picture_url = "http://localdata/test.html"
  19. # driver.get(picture_url)
  20. # # driver.refresh()
  21. # driver.get_screenshot_as_file(r"pic\%s.png" %time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())))
  22. # print(os.getcwd())
  23. # driver.quit()
  24. # except BaseException as msg:
  25. # print("[err] %s" % msg)
  26. def save_screenshot():
  27. global frameIndex, iswork, threadNum
  28. try:
  29. if iswork == 0:
  30. return
  31. threadNum += 1
  32. t = threading.Timer(0.02, save_screenshot)
  33. t.start()
  34. # rowNum = int(driver.find_element_by_id("rowNum").get_attribute('value'))
  35. # rsCount = int(driver.find_element_by_id("rsCount").get_attribute('value'))
  36. endFlag = int(driver.find_element_by_id("endFlag").get_attribute('value'))
  37. print("[%s] %d" % (time.strftime('%H:%M:%S', time.localtime(time.time())), frameIndex))
  38. # print("[%s][%d] %d / %d" % (time.strftime('%H:%M:%S', time.localtime(time.time())), frameIndex, rowNum, rsCount))
  39. # if rowNum <= rsCount:
  40. if endFlag == 0:
  41. # t = threading.Timer(0.04, save_screenshot)
  42. # t.start()
  43. # if rowNum > 0:
  44. frameIndex += 1
  45. # file = r"pic\%s.png" % time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
  46. # file = r"pic\%s.png" % rowNum
  47. file = r"pic\%s.png" % (frameIndex)
  48. # file = r"pic\%s_%d.png" % (frameIndex, rowNum)
  49. driver.get_screenshot_as_file(file)
  50. # png_data = driver.get_screenshot_as_png() # 获取二进制数据流
  51. # print(os.getcwd())
  52. print(file)
  53. # if rowNum == rsCount:
  54. # print("save_screenshot finished !")
  55. # driver.quit()
  56. threadNum -= 1
  57. else:
  58. print("save_screenshot finished !!")
  59. threadNum -= 1
  60. iswork = 0
  61. if iswork == 0 and threadNum <= 0:
  62. driver.close()
  63. driver.quit()
  64. except BaseException as msg:
  65. print("[err] %s" % msg)
  66. threadNum -= 1
  67. iswork = 0
  68. if iswork == 0 and threadNum <= 0:
  69. driver.close()
  70. driver.quit()
  71. try:
  72. driver = webdriver.Chrome(r"chromedriver.exe")
  73. picture_url = "http://localdata/test.html"
  74. driver.maximize_window()
  75. driver.get(picture_url)
  76. # driver.refresh()
  77. # print(dir(driver))
  78. # time.sleep(1)
  79. iswork = 1
  80. save_screenshot()
  81. # driver.get_screenshot_as_file('1.png')
  82. # print("%s: Screenshot save success!!" % picture_url)
  83. # driver.close()
  84. # driver.quit()
  85. except BaseException as msg:
  86. print("[err] %s" % msg)
  87. driver.close()
  88. driver.quit()