diff --git a/README.md b/README.md index ce58735..41612ef 100644 --- a/README.md +++ b/README.md @@ -330,6 +330,10 @@ wvc.config({ browserDisableDevShm: false, // 浏览器可执行文件路径,设置后将禁用内部的浏览器,建议您默认使用内部的浏览器以确保功能完整性 browserExecutablePath: "...", + // 浏览器启动超时时间(毫秒),设置等待浏览器启动超时时间 + browserLaunchTimeout: 30000, + // 浏览器协议通信超时时间(毫秒),设置CDP协议通信超时时间 + browserProtocolTimeout: 180000, // 是否允许不安全的上下文,默认禁用,开启后能够导航到不安全的URL,但由于不安全上下文限制,将无法在页面中使用动态图像和内嵌视频 allowUnsafeContext: false, // 兼容渲染模式,MacOS中需要启用,其它环境不建议启用,启用后将禁用HeadlessExperimental.beginFrame API调用改为普通的Page.screenshot diff --git a/core/Browser.js b/core/Browser.js index 406235c..8a63a98 100644 --- a/core/Browser.js +++ b/core/Browser.js @@ -132,11 +132,13 @@ export default class Browser { // 忽略HTTPS错误 ignoreHTTPSErrors: true, // 浏览器启动超时时间(毫秒) - timeout: 30000, + timeout: _.defaultTo(globalConfig.browserLaunchTimeout, 30000), // 是否输出调试信息到控制台 dumpio: _.defaultTo(globalConfig.browserDebug, false), // 是否使用管道通信 pipe: false, + // 协议超时时间(毫秒) + protocolTimeout: _.defaultTo(globalConfig.browserProtocolTimeout, 180000), // 用户目录路径 userDataDir: "tmp/browser", // 浏览器启动参数 diff --git a/docs/api-reference-high-level.md b/docs/api-reference-high-level.md index 50ad3fe..e077d01 100644 --- a/docs/api-reference-high-level.md +++ b/docs/api-reference-high-level.md @@ -77,6 +77,16 @@ string 浏览器可执行文件路径,设置后将禁用内部的浏览器,建议您默认使用内部的浏览器以确保功能完整性 + + browserLaunchTimeout + number + 浏览器启动超时时间(毫秒),设置等待浏览器启动超时时间 + + + browserProtocolTimeout + number + 浏览器协议通信超时时间(毫秒),设置CDP协议通信超时时间 + allowUnsafeContext boolean diff --git a/lib/global-config.js b/lib/global-config.js index c60363c..e16a740 100644 --- a/lib/global-config.js +++ b/lib/global-config.js @@ -107,6 +107,24 @@ export default { */ browserExecutablePath: null, + /** + * 浏览器启动超时时间(毫秒) + * + * 设置等待浏览器启动超时时间 + * + * @type {string} + */ + browserLaunchTimeout: 30000, + + /** + * 浏览器协议通信超时时间(毫秒) + * + * 设置CDP协议通信超时时间 + * + * @type {string} + */ + browserProtocolTimeout: 180000, + /** * 是否允许不安全的上下文 *