gpt4 book ai didi

internet-explorer - IE 11 的内存泄漏,而 Google Chrome 不会发生

转载 作者:行者123 更新时间:2023-12-01 04:55:59 26 4
gpt4 key购买 nike

我最近在 IE 11 中遇到了严重的内存泄漏问题,而在 Google Chrome 中根本不会发生。 (它确实发生在 Firefox 中,但程度不同)。

要观察它,请按照下列步骤操作:

  • 并排打开一个 IE 11 窗口和一个任务管理器窗口。 (在正常模式或无扩展模式下打开 IE 并不重要。)
  • 转到 IMDB.COM 并打开一个电影页面。观察 IE 消耗了多少内存。
  • 刷新页面 10 次,再次观察内存使用情况。

  • 您会看到 IE 现在比您第一次加载页面时多消耗大约 90 MEG 的内存。使用 Google Chrome 重复相同的测试不会导致显着的额外内存消耗。

    其他网站似乎不会出现这种行为——只是在 IMDB.COM 上。不幸的是,我不得不为一个电影节刮这个网站,访问太多页面总是导致崩溃。我已经制定了一种解决方法(每 50 页关闭并重新打开 IE 对象),但我想知道是否有某种方法可以让 IE 在此站点上表现得像 Google Chrome。

    最佳答案

    你想要 Chrome,你就可以拥有 Chrome!使用 selenium basic让我们看看电影里有什么……

    Option Explicit
    Public Sub GetMovies()
    Dim d As WebDriver, html As HTMLDocument
    Set d = New ChromeDriver
    Const url = "https://www.imdb.com/"
    Application.ScreenUpdating = False
    With d
    .AddArgument "--headless"
    .Start "Chrome"
    .get url
    Set html = New HTMLDocument
    html.body.innerHTML = .PageSource '<== Just to show you how to transfer HTML
    Dim links As Object, i As Long
    Set links = html.querySelectorAll(".title a")
    For i = 0 To links.Length - 1
    Debug.Print links(i).innerText
    Next i
    .Quit
    Application.ScreenUpdating = True
    End With
    End Sub

    对于大量请求,尽管您希望 XHR 更快,然后将其中的 HTML 加载到 HTML 文档中:
    Public Function GetSource(ByVal sURL As String) As HTMLDocument
    Dim oXHTTP As Object, HTML As New HTMLDocument,sResponse As String
    Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
    oXHTTP.Open "GET", sURL, False
    oXHTTP.send
    sResponse = StrConv(oXHTTP.responseBody, vbUnicode)
    sResponse = Mid$(sResponse, InStr(1, sResponse, "<!DOCTYPE "))
    HTML.body.innerHTML = sResponse
    Set GetSource = HTML
    End Function

    关于internet-explorer - IE 11 的内存泄漏,而 Google Chrome 不会发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265503/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com