如何使用 Chrome Headless 模式延迟捕获 DOM

Mik*_*keO 5 google-chrome headless delay

我在 Windows 10 上的 Chrome 70 中使用以下命令行:

铬 --headless --enable-logging --dump-dom http://localhost/test.html

该页面包含以下内容:

<!DOCTYPE html>
<html>
<head>
    <script>
        setTimeout(function () { document.write("This is a test"); }, 10);
    </script>
</head>
<body>
    Content to replace.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

请注意,我有脚本模拟异步过程来查询数据。将超时设置为 10 毫秒,Chrome 命令行的页面输出为:

<html><head></head><body>This is a test</body></head></html>
Run Code Online (Sandbox Code Playgroud)

当我将超时增加到 50 或更多时,输出是原始页面。

我如何告诉 Chrome 等待异步进程的完成以及我如何告诉它何时完成?

cro*_*oik 6

您可以使用--virtual-time-budget参数,该参数允许您指定愿意等待的时间(以毫秒为单位)。

chrome --headless --enable-logging --dump-dom --virtual-time-budget=10000 http://localhost/test.html
Run Code Online (Sandbox Code Playgroud)