如何使用 Chrome 无头模式延迟捕获 DOM
How to delay capture of DOM using Chrome Headless mode
我在 Windows 10 上使用 Chrome 70 的以下命令行:
chrome --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>
请注意,我有模拟异步进程来查询数据的脚本。将超时设置为 10 毫秒,Chrome 命令行的页面输出为:
<html><head></head><body>This is a test</body></head></html>
当我将超时增加到 50 或更多时,输出是原始页面。
如何告诉 Chrome 等待异步进程完成以及如何告诉它何时完成?
您可以使用 --virtual-time-budget 参数来指定您愿意等待的时间(以毫秒为单位)。
chrome --headless --enable-logging --dump-dom --virtual-time-budget=10000 http://localhost/test.html
我在 Windows 10 上使用 Chrome 70 的以下命令行:
chrome --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>
请注意,我有模拟异步进程来查询数据的脚本。将超时设置为 10 毫秒,Chrome 命令行的页面输出为:
<html><head></head><body>This is a test</body></head></html>
当我将超时增加到 50 或更多时,输出是原始页面。
如何告诉 Chrome 等待异步进程完成以及如何告诉它何时完成?
您可以使用 --virtual-time-budget 参数来指定您愿意等待的时间(以毫秒为单位)。
chrome --headless --enable-logging --dump-dom --virtual-time-budget=10000 http://localhost/test.html