isomorfeus-puppetmaster 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isomorfeus/puppetmaster/driver/puppeteer.rb +3 -3
  3. data/lib/isomorfeus/puppetmaster/driver/puppeteer_document.rb +30 -30
  4. data/lib/isomorfeus/puppetmaster/driver/puppeteer_node.rb +4 -4
  5. data/lib/isomorfeus/puppetmaster/node.rb +3 -3
  6. data/lib/isomorfeus/puppetmaster/server.rb +1 -1
  7. data/lib/isomorfeus/puppetmaster/version.rb +1 -1
  8. data/lib/isomorfeus/puppetmaster.rb +2 -2
  9. data/node_modules/.package-lock.json +3 -3
  10. data/node_modules/puppeteer-core/CHANGELOG.md +35 -0
  11. data/node_modules/puppeteer-core/README.md +13 -13
  12. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
  13. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js +5 -5
  14. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  15. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts +18 -2
  16. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
  17. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js +7 -2
  18. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map +1 -1
  19. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts +1 -1
  20. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js +1 -1
  21. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts +18 -2
  22. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts.map +1 -1
  23. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js +10 -3
  24. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
  25. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts +1 -0
  26. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  27. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js +10 -6
  28. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  29. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
  30. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js +120 -0
  31. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js.map +1 -1
  32. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts +1 -1
  33. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts.map +1 -1
  34. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  35. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js +2 -2
  36. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  37. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts +24 -2
  38. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  39. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js +33 -9
  40. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  41. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts +1 -0
  42. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  43. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js +5 -0
  44. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  45. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts +5 -0
  46. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
  47. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
  48. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts +18 -2
  49. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  50. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js +66 -5
  51. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map +1 -1
  52. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.d.ts.map +1 -1
  53. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js +8 -2
  54. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
  55. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts +1 -0
  56. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts.map +1 -1
  57. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js +6 -1
  58. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js.map +1 -1
  59. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts +17 -0
  60. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts.map +1 -0
  61. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js +3 -0
  62. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js.map +1 -0
  63. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  64. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js +9 -10
  65. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  66. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts +2 -2
  67. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  68. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +7 -1
  69. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  70. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.d.ts.map +1 -1
  71. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js +17 -3
  72. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js.map +1 -1
  73. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
  74. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +5 -5
  75. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  76. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts +18 -2
  77. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
  78. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js +7 -2
  79. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map +1 -1
  80. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts +1 -1
  81. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js +1 -1
  82. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts +18 -2
  83. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -1
  84. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js +10 -3
  85. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js.map +1 -1
  86. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts +1 -0
  87. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  88. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js +10 -6
  89. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  90. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
  91. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js +120 -0
  92. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js.map +1 -1
  93. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts +1 -1
  94. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -1
  95. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  96. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js +2 -2
  97. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  98. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts +24 -2
  99. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  100. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js +33 -9
  101. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  102. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts +1 -0
  103. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  104. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js +5 -0
  105. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  106. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts +5 -0
  107. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
  108. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
  109. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts +18 -2
  110. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  111. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js +67 -6
  112. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map +1 -1
  113. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -1
  114. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js +8 -2
  115. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js.map +1 -1
  116. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts +1 -0
  117. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts.map +1 -1
  118. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js +4 -0
  119. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js.map +1 -1
  120. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts +17 -0
  121. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts.map +1 -0
  122. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js +2 -0
  123. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js.map +1 -0
  124. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  125. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js +9 -10
  126. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  127. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts +2 -2
  128. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  129. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js +7 -1
  130. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  131. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.d.ts.map +1 -1
  132. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js +17 -3
  133. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js.map +1 -1
  134. data/node_modules/puppeteer-core/lib/types.d.ts +109 -12
  135. data/node_modules/puppeteer-core/package.json +5 -4
  136. data/package.json +1 -1
  137. metadata +32 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91bf622b370722fc0429d1a4a21540c8d1678f8172f721f5189569f1aba1153c
4
- data.tar.gz: 0c5ea884323a4bf8ed9975ab8f2acf2136ffc74d67bbe704e6cf30870f45b256
3
+ metadata.gz: 17a526afb0b53cc31f7290cf80be5c698010786ff9210911c9d39e36af67108c
4
+ data.tar.gz: be017f23bc6e371d739068640f9a684752abe2c48706628f16e1683d6b7ca0c0
5
5
  SHA512:
6
- metadata.gz: 6c262a404772415d2f93a0876c886d7aee83f24664fedd6e891d4059b32c6a42bf2773b28ed18b5e83cad9dc71bb4e8712895d29b48b032d7955257116fe533b
7
- data.tar.gz: ac0ab504a92f67bbca47c06ae899641d74f789338b1ba83cd994cf94253197cc2f67e2afc301faa3587af5feab15efbc399191cf946a034b98a661aea41250db
6
+ metadata.gz: d679044de354362f4c0898b98139a72f6bbc88e24a53f8402a219e27af635351abdb996c76f9d4d7a3efb775c034a26be3f30d31911cf0f1793aee8982b912fa
7
+ data.tar.gz: 7217aa2e0b9d5a093d96b48f92ce42abf65bfd1e55f7a21142f6afb092777bbc56c51781e325a8549cdd638c5eacbb40d6d14cf3358f42e70981915525007c72
@@ -252,12 +252,12 @@ module Isomorfeus
252
252
  def launch_line
253
253
  string_options = []
254
254
  options = @options.dup
255
- string_options << "ignoreHTTPSErrors: #{options.delete(:ignore_https_errors)}" if options.has_key?(:ignore_https_errors)
256
- string_options << "executablePath: '#{options.delete(:executable_path)}'" if options.has_key?(:executable_path)
255
+ string_options << "ignoreHTTPSErrors: #{options.delete(:ignore_https_errors)}" if options.key?(:ignore_https_errors)
256
+ string_options << "executablePath: '#{options.delete(:executable_path)}'" if options.key?(:executable_path)
257
257
  options.each do |option, value|
258
258
  string_options << "#{option.to_s.camelize(:lower)}: #{value}"
259
259
  end
260
- string_options << "userDataDir: '#{Dir.mktmpdir}'" unless @options.has_key?(:user_data_dir)
260
+ string_options << "userDataDir: '#{Dir.mktmpdir}'" unless @options.key?(:user_data_dir)
261
261
  string_options << "defaultViewport: { width: #{@width}, height: #{@height} }"
262
262
  string_options << "pipe: true"
263
263
  # string_options << "args: ['--disable-popup-blocking']"
@@ -4,7 +4,7 @@ module Isomorfeus
4
4
  module PuppeteerDocument
5
5
  def document_accept_alert(document, **options, &block)
6
6
  # TODO maybe wrap in mutex
7
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
7
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
8
8
  @context.exec <<~JAVASCRIPT
9
9
  ModalText = #{text};
10
10
  AllPageHandles[#{document.handle}].on('dialog', DialogAcceptHandler);
@@ -19,12 +19,12 @@ module Isomorfeus
19
19
  ModalText = null;
20
20
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogAcceptHandler);
21
21
  JAVASCRIPT
22
- raise Isomorfeus::Puppetmaster::NoModalError if options.has_key?(:text) && !matched
22
+ raise Isomorfeus::Puppetmaster::NoModalError if options.key?(:text) && !matched
23
23
  end
24
24
 
25
25
  def document_accept_confirm(document, **options, &block)
26
26
  # TODO maybe wrap in mutex
27
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
27
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
28
28
  @context.exec <<~JAVASCRIPT
29
29
  ModalText = #{text};
30
30
  AllPageHandles[#{document.handle}].on('dialog', DialogAcceptHandler);
@@ -39,12 +39,12 @@ module Isomorfeus
39
39
  ModalText = null;
40
40
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogAcceptHandler);
41
41
  JAVASCRIPT
42
- raise Isomorfeus::Puppetmaster::NoModalError if options.has_key?(:text) && !matched
42
+ raise Isomorfeus::Puppetmaster::NoModalError if options.key?(:text) && !matched
43
43
  end
44
44
 
45
45
  def document_accept_leave_page(document, **options, &block)
46
46
  # TODO maybe wrap in mutex
47
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
47
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
48
48
  @context.exec <<~JAVASCRIPT
49
49
  ModalText = #{text};
50
50
  AllPageHandles[#{document.handle}].on('dialog', DialogAcceptHandler);
@@ -59,12 +59,12 @@ module Isomorfeus
59
59
  ModalText = null;
60
60
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogAcceptHandler);
61
61
  JAVASCRIPT
62
- raise Isomorfeus::Puppetmaster::NoModalError if options.has_key?(:text) && !matched
62
+ raise Isomorfeus::Puppetmaster::NoModalError if options.key?(:text) && !matched
63
63
  end
64
64
 
65
65
  def document_accept_prompt(document, **options, &block)
66
66
  # TODO maybe wrap in mutex
67
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
67
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
68
68
  @context.exec <<~JAVASCRIPT
69
69
  ModalText = #{text};
70
70
  AllPageHandles[#{document.handle}].on('dialog', DialogAcceptHandler);
@@ -79,7 +79,7 @@ module Isomorfeus
79
79
  ModalText = null;
80
80
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogAcceptHandler);
81
81
  JAVASCRIPT
82
- raise Isomorfeus::Puppetmaster::NoModalError if options.has_key?(:text) && !matched
82
+ raise Isomorfeus::Puppetmaster::NoModalError if options.key?(:text) && !matched
83
83
  end
84
84
 
85
85
  def document_all_text(document)
@@ -197,7 +197,7 @@ module Isomorfeus
197
197
 
198
198
  def document_dismiss_confirm(document, **options, &block)
199
199
  # TODO
200
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
200
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
201
201
  @context.exec <<~JAVASCRIPT
202
202
  ModalText = #{text};
203
203
  AllPageHandles[#{document.handle}].on('dialog', DialogDismissHandler);
@@ -212,12 +212,12 @@ module Isomorfeus
212
212
  ModalText = null;
213
213
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogDismissHandler);
214
214
  JAVASCRIPT
215
- raise Isomorfeus::Puppetmaster::ModalNotFound if options.has_key?(:text) && !matched
215
+ raise Isomorfeus::Puppetmaster::ModalNotFound if options.key?(:text) && !matched
216
216
  end
217
217
 
218
218
  def document_dismiss_leave_page(document, **options, &block)
219
219
  # TODO
220
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
220
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
221
221
  @context.exec <<~JAVASCRIPT
222
222
  ModalText = #{text};
223
223
  AllPageHandles[#{document.handle}].on('dialog', DialogDismissHandler);
@@ -232,12 +232,12 @@ module Isomorfeus
232
232
  ModalText = null;
233
233
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogDismissHandler);
234
234
  JAVASCRIPT
235
- raise Isomorfeus::Puppetmaster::ModalNotFound if options.has_key?(:text) && !matched
235
+ raise Isomorfeus::Puppetmaster::ModalNotFound if options.key?(:text) && !matched
236
236
  end
237
237
 
238
238
  def document_dismiss_prompt(document, **options, &block)
239
239
  # TODO
240
- text = options.has_key?(:text) ? "`#{options[:text]}`" : 'null'
240
+ text = options.key?(:text) ? "`#{options[:text]}`" : 'null'
241
241
  @context.exec <<~JAVASCRIPT
242
242
  ModalText = #{text};
243
243
  AllPageHandles[#{document.handle}].on('dialog', DialogDismissHandler);
@@ -252,7 +252,7 @@ module Isomorfeus
252
252
  ModalText = null;
253
253
  AllPageHandles[#{document.handle}].removeListener('dialog', DialogDismissHandler);
254
254
  JAVASCRIPT
255
- raise Isomorfeus::Puppetmaster::ModalNotFound if options.has_key?(:text) && !matched
255
+ raise Isomorfeus::Puppetmaster::ModalNotFound if options.key?(:text) && !matched
256
256
  end
257
257
 
258
258
  def document_dispatch_event(document, name, event_type = nil, **options)
@@ -649,12 +649,12 @@ module Isomorfeus
649
649
  # todo
650
650
  # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-pagescreenshotoptions
651
651
  final_options = ["encoding: 'base64'"]
652
- if options.has_key?(:format)
652
+ if options.key?(:format)
653
653
  options[:format] = 'jpeg' if options[:format].to_s.downcase == 'jpg'
654
654
  final_options << "type: '#{options.delete(:format).to_s.downcase}'"
655
655
  end
656
- final_options << "quality: #{options.delete(:quality)}" if options.has_key?(:quality)
657
- final_options << "fullPage: #{options.delete(:full)}" if options.has_key?(:full)
656
+ final_options << "quality: #{options.delete(:quality)}" if options.key?(:quality)
657
+ final_options << "fullPage: #{options.delete(:full)}" if options.key?(:full)
658
658
  options.each do |k,v|
659
659
  final_options << "#{k.to_s.camelize(:lower)}: #{v}"
660
660
  end
@@ -715,12 +715,12 @@ module Isomorfeus
715
715
  # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-pagepdfoptions
716
716
  absolute_path = File.absolute_path(path)
717
717
  final_options = ["path: '#{absolute_path}'"]
718
- final_options << "format: '#{options.delete(:format)}'" if options.has_key?(:format)
719
- final_options << "headerTemplate: `#{options.delete(:header_template)}`" if options.has_key?(:header_template)
720
- final_options << "footerTemplate: `#{options.delete(:footer_template)}`" if options.has_key?(:footer_template)
721
- final_options << "pageRanges: '#{options.delete(:page_ranges)}'" if options.has_key?(:page_ranges)
722
- final_options << "width: '#{options.delete(:width)}'" if options.has_key?(:width)
723
- final_options << "height: '#{options.delete(:height)}'" if options.has_key?(:height)
718
+ final_options << "format: '#{options.delete(:format)}'" if options.key?(:format)
719
+ final_options << "headerTemplate: `#{options.delete(:header_template)}`" if options.key?(:header_template)
720
+ final_options << "footerTemplate: `#{options.delete(:footer_template)}`" if options.key?(:footer_template)
721
+ final_options << "pageRanges: '#{options.delete(:page_ranges)}'" if options.key?(:page_ranges)
722
+ final_options << "width: '#{options.delete(:width)}'" if options.key?(:width)
723
+ final_options << "height: '#{options.delete(:height)}'" if options.key?(:height)
724
724
  options.each do |k,v|
725
725
  final_options << "#{k.to_s.camelize(:lower)}: #{v}"
726
726
  end
@@ -732,12 +732,12 @@ module Isomorfeus
732
732
  # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-pagescreenshotoptions
733
733
  absolute_path = File.absolute_path(path)
734
734
  final_options = ["path: '#{absolute_path}'"]
735
- if options.has_key?(:format)
735
+ if options.key?(:format)
736
736
  options[:format] = 'jpeg' if options[:format].to_s.downcase == 'jpg'
737
737
  final_options << "type: '#{options.delete(:format).to_s.downcase}'"
738
738
  end
739
- final_options << "quality: #{options.delete(:quality)}" if options.has_key?(:quality)
740
- final_options << "fullPage: #{options.delete(:full)}" if options.has_key?(:full)
739
+ final_options << "quality: #{options.delete(:quality)}" if options.key?(:quality)
740
+ final_options << "fullPage: #{options.delete(:full)}" if options.key?(:full)
741
741
  options.each do |k,v|
742
742
  final_options << "#{k.to_s.camelize(:lower)}: #{v}"
743
743
  end
@@ -772,10 +772,10 @@ module Isomorfeus
772
772
  end
773
773
  options[:domain] ||= URI.parse(uri).host
774
774
  final_options = []
775
- final_options << "expires: #{options.delete(:expires).to_i}" if options.has_key?(:expires)
776
- final_options << "httpOnly: #{options.delete(:http_only)}" if options.has_key?(:http_only)
777
- final_options << "secure: #{options.delete(:secure)}" if options.has_key?(:secure)
778
- final_options << "sameSite: '#{options.delete(:same_site)}'" if options.has_key?(:same_site)
775
+ final_options << "expires: #{options.delete(:expires).to_i}" if options.key?(:expires)
776
+ final_options << "httpOnly: #{options.delete(:http_only)}" if options.key?(:http_only)
777
+ final_options << "secure: #{options.delete(:secure)}" if options.key?(:secure)
778
+ final_options << "sameSite: '#{options.delete(:same_site)}'" if options.key?(:same_site)
779
779
  options.each do |k,v|
780
780
  final_options << "#{k}: '#{v}'"
781
781
  end
@@ -437,11 +437,11 @@ module Isomorfeus
437
437
  def node_render_base64(node, **options)
438
438
  # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-pagescreenshotoptions
439
439
  final_options = ["encoding: 'base64'"]
440
- if options.has_key?(:format)
440
+ if options.key?(:format)
441
441
  options[:format] = 'jpeg' if options[:format].to_s.downcase == 'jpg'
442
442
  final_options << "type: '#{options.delete(:format).to_s.downcase}'"
443
443
  end
444
- final_options << "quality: #{options.delete(:quality)}" if options.has_key?(:quality)
444
+ final_options << "quality: #{options.delete(:quality)}" if options.key?(:quality)
445
445
  box = await "LastResult = await AllElementHandles[#{node.handle}].boundingBox();"
446
446
  final_options << "clip: {x: #{box['x']}, y: #{box['y']}, width: #{box['width']}, height: #{box['height']}}"
447
447
  options.each { |k,v| final_options << "#{k.to_s.camelize(:lower)}: #{v}" }
@@ -493,11 +493,11 @@ module Isomorfeus
493
493
  # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-pagescreenshotoptions
494
494
  absolute_path = File.absolute_path(path)
495
495
  final_options = ["path: '#{absolute_path}'"]
496
- if options.has_key?(:format)
496
+ if options.key?(:format)
497
497
  options[:format] = 'jpeg' if options[:format].to_s.downcase == 'jpg'
498
498
  final_options << "type: '#{options.delete(:format).to_s.downcase}'"
499
499
  end
500
- final_options << "quality: #{options.delete(:quality)}" if options.has_key?(:quality)
500
+ final_options << "quality: #{options.delete(:quality)}" if options.key?(:quality)
501
501
  box = await "LastResult = await AllElementHandles[#{node.handle}].boundingBox();"
502
502
  final_options << "clip: {x: #{box['x']}, y: #{box['y']}, width: #{box['width']}, height: #{box['height']}}"
503
503
  options.each { |k,v| final_options << "#{k.to_s.camelize(:lower)}: #{v}" }
@@ -189,20 +189,20 @@ module Isomorfeus
189
189
  def has_css?(selector, **options)
190
190
  res = find_all(selector)
191
191
  return false unless res
192
- return false if options.has_key?(:count) && options[:count] != res.size
192
+ return false if options.key?(:count) && options[:count] != res.size
193
193
  return true
194
194
  end
195
195
 
196
196
  def has_text?(text, **options)
197
197
  count = visible_text.scan(/#{text}/).size
198
- return false if options.has_key?(:count) && options[:count] != count
198
+ return false if options.key?(:count) && options[:count] != count
199
199
  count > 0
200
200
  end
201
201
 
202
202
  def has_xpath?(query, **options)
203
203
  res = find_all_xpath(query)
204
204
  return false unless res
205
- return false if options.has_key?(:count) && options[:count] != res.size
205
+ return false if options.key?(:count) && options[:count] != res.size
206
206
  return true
207
207
  end
208
208
 
@@ -74,7 +74,7 @@ module Isomorfeus
74
74
  end
75
75
  if response.code == '200'
76
76
  result_hash = Oj.load(response.body)
77
- if result_hash.has_key?('error')
77
+ if result_hash.key?('error')
78
78
  error = RuntimeError.new(result_hash['error'])
79
79
  error.set_backtrace(result_hash['backtrace'])
80
80
  raise error
@@ -1,3 +1,3 @@
1
1
  module Isomorfeus
2
- PUPPETMASTER_VERSION = '0.5.2'
2
+ PUPPETMASTER_VERSION = '0.5.3'
3
3
  end
@@ -19,7 +19,7 @@ module Isomorfeus
19
19
  end
20
20
 
21
21
  def driver=(drvr)
22
- raise "#{drvr}: no such driver registered! Available drivers: #{drivers.keys.join(', ')}." unless drivers.has_key?(drvr)
22
+ raise "#{drvr}: no such driver registered! Available drivers: #{drivers.keys.join(', ')}." unless drivers.key?(drvr)
23
23
  @driver = drvr
24
24
  end
25
25
 
@@ -52,7 +52,7 @@ module Isomorfeus
52
52
  end
53
53
 
54
54
  def server=(name)
55
- raise "#{name}: no such server registered! Available drivers: #{servers.keys.join(', ')}." unless servers.has_key?(name)
55
+ raise "#{name}: no such server registered! Available drivers: #{servers.keys.join(', ')}." unless servers.key?(name)
56
56
  name, options = *name if name.is_a? Array
57
57
  @server = if name.respond_to? :call
58
58
  name
@@ -416,9 +416,9 @@
416
416
  }
417
417
  },
418
418
  "node_modules/puppeteer-core": {
419
- "version": "10.2.0",
420
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-10.2.0.tgz",
421
- "integrity": "sha512-c1COxSnfynsE6Mtt+dW0t3TITjF9Ku4dnJbFMDDVhLQuMTYSpz4rkSP37qvzcSo3k02/Ac3GYWk0/ncp6DKZNA==",
419
+ "version": "10.4.0",
420
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-10.4.0.tgz",
421
+ "integrity": "sha512-KU8zyb7AIOqNjLCN3wkrFXxh+EVaG+zrs2P03ATNjc3iwSxHsu5/EvZiREpQ/IJiT9xfQbDVgKcsvRuzLCxglQ==",
422
422
  "dependencies": {
423
423
  "debug": "4.3.1",
424
424
  "devtools-protocol": "0.0.901419",
@@ -2,6 +2,41 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [10.4.0](https://github.com/puppeteer/puppeteer/compare/v10.2.0...v10.4.0) (2021-09-21)
6
+
7
+
8
+ ### Features
9
+
10
+ * add webp to screenshot options ([#7565](https://github.com/puppeteer/puppeteer/issues/7565)) ([43a9268](https://github.com/puppeteer/puppeteer/commit/43a926832505a57922016907a264165676424557))
11
+ * **page:** expose page.client() ([#7582](https://github.com/puppeteer/puppeteer/issues/7582)) ([99ca842](https://github.com/puppeteer/puppeteer/commit/99ca842124a1edef5e66426621885141a9feaca5))
12
+ * **page:** mark page.client() as internal ([#7585](https://github.com/puppeteer/puppeteer/issues/7585)) ([8451951](https://github.com/puppeteer/puppeteer/commit/84519514831f304f9076ca235fe474f797616b2c))
13
+ * add ability to specify offsets for JSHandle.click ([#7573](https://github.com/puppeteer/puppeteer/issues/7573)) ([2b5c001](https://github.com/puppeteer/puppeteer/commit/2b5c0019dc3744196c5858edeaa901dff9973ef5))
14
+ * add durableStorage to allowed permissions ([#5295](https://github.com/puppeteer/puppeteer/issues/5295)) ([eda5171](https://github.com/puppeteer/puppeteer/commit/eda51712790b9260626dc53cfb58a72805c45582))
15
+ * add id option to addScriptTag ([#5477](https://github.com/puppeteer/puppeteer/issues/5477)) ([300be5d](https://github.com/puppeteer/puppeteer/commit/300be5d167b6e7e532e725fdb86966081a5d0093))
16
+ * add more Android models to DeviceDescriptors ([#7210](https://github.com/puppeteer/puppeteer/issues/7210)) ([b5020dc](https://github.com/puppeteer/puppeteer/commit/b5020dc04121b265c77662237dfb177d6de06053)), closes [/github.com/aerokube/moon-deploy/blob/master/moon-local.yaml#L199](https://github.com/puppeteer//github.com/aerokube/moon-deploy/blob/master/moon-local.yaml/issues/L199)
17
+ * add proxy and bypass list parameters to createIncognitoBrowserContext ([#7516](https://github.com/puppeteer/puppeteer/issues/7516)) ([8e45a1c](https://github.com/puppeteer/puppeteer/commit/8e45a1c882207cc36e87be2a917b661eb841c4bf)), closes [#678](https://github.com/puppeteer/puppeteer/issues/678)
18
+ * add threshold to Page.isIntersectingViewport ([#6497](https://github.com/puppeteer/puppeteer/issues/6497)) ([54c4318](https://github.com/puppeteer/puppeteer/commit/54c43180161c3c512e4698e7f2e85ce3c6f0ab50))
19
+ * add unit test support for bisect ([#7553](https://github.com/puppeteer/puppeteer/issues/7553)) ([a0b1f6b](https://github.com/puppeteer/puppeteer/commit/a0b1f6b401abae2fbc5a8987061644adfaa7b482))
20
+ * add User-Agent with Puppeteer version to WebSocket request ([#5614](https://github.com/puppeteer/puppeteer/issues/5614)) ([6a2bf0a](https://github.com/puppeteer/puppeteer/commit/6a2bf0aabaa4df72c7838f5a6cd742e8f9c72be6))
21
+ * extend husky checks ([#7574](https://github.com/puppeteer/puppeteer/issues/7574)) ([7316086](https://github.com/puppeteer/puppeteer/commit/73160869417275200be19bd37372b6218dbc5f63))
22
+ * **api:** implement `Page.waitForNetworkIdle()` ([#5140](https://github.com/puppeteer/puppeteer/issues/5140)) ([3c6029c](https://github.com/puppeteer/puppeteer/commit/3c6029c702291ca7ef637b66e78d72e03156fe58))
23
+ * **coverage:** option for raw V8 script coverage ([#6454](https://github.com/puppeteer/puppeteer/issues/6454)) ([cb4470a](https://github.com/puppeteer/puppeteer/commit/cb4470a6d9b0a7f73836458bb3d5779eb85ac5f2))
24
+ * support timeout for page.pdf() call ([#7508](https://github.com/puppeteer/puppeteer/issues/7508)) ([f90af66](https://github.com/puppeteer/puppeteer/commit/f90af6639d801e764bdb479b9543b7f8f2b926df))
25
+ * **typescript:** allow using puppeteer without dom lib ([#6998](https://github.com/puppeteer/puppeteer/issues/6998)) ([723052d](https://github.com/puppeteer/puppeteer/commit/723052d5bb3c3d1d3908508467512bea4d8fdc80)), closes [#6989](https://github.com/puppeteer/puppeteer/issues/6989)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **docs:** deploy includes website documentation ([#7469](https://github.com/puppeteer/puppeteer/issues/7469)) ([6fde41c](https://github.com/puppeteer/puppeteer/commit/6fde41c6b6657986df1bbce3f2e0f7aa499f2be4))
31
+ * **docs:** names in version 9.1.1 ([#7517](https://github.com/puppeteer/puppeteer/issues/7517)) ([44b22bb](https://github.com/puppeteer/puppeteer/commit/44b22bbc2629e3c75c1494b299a66790b371fb0a))
32
+ * **frame:** fix Frame.waitFor's XPath pattern detection ([#5184](https://github.com/puppeteer/puppeteer/issues/5184)) ([caa2b73](https://github.com/puppeteer/puppeteer/commit/caa2b732fe58f32ec03f2a9fa8568f20188203c5))
33
+ * **install:** respect environment proxy config when downloading Firef… ([#6577](https://github.com/puppeteer/puppeteer/issues/6577)) ([9399c97](https://github.com/puppeteer/puppeteer/commit/9399c9786fba4e45e1c5485ddbb197d2d4f1735f)), closes [#6573](https://github.com/puppeteer/puppeteer/issues/6573)
34
+ * added names in V9.1.1 ([#7547](https://github.com/puppeteer/puppeteer/issues/7547)) ([d132b8b](https://github.com/puppeteer/puppeteer/commit/d132b8b041696e6d5b9a99d0be1acf1cf943efef))
35
+ * **test:** tweak waitForNetworkIdle delay in test between downloads ([#7564](https://github.com/puppeteer/puppeteer/issues/7564)) ([a21b737](https://github.com/puppeteer/puppeteer/commit/a21b7376e7feaf23066d67948d52480516f42496))
36
+ * **types:** allow evaluate functions to take a readonly array as an argument ([#7072](https://github.com/puppeteer/puppeteer/issues/7072)) ([491614c](https://github.com/puppeteer/puppeteer/commit/491614c7f8cfa50b902d0275064e611c2a48c3b2))
37
+ * update firefox prefs documentation link ([#7539](https://github.com/puppeteer/puppeteer/issues/7539)) ([2aec355](https://github.com/puppeteer/puppeteer/commit/2aec35553bc6e0305f40837bb3665ddbd02aa889))
38
+ * use non-deprecated tracing categories api ([#7413](https://github.com/puppeteer/puppeteer/issues/7413)) ([040a0e5](https://github.com/puppeteer/puppeteer/commit/040a0e561b4f623f7929130b90be129f94ebb642))
39
+
5
40
  ## [10.2.0](https://github.com/puppeteer/puppeteer/compare/v10.1.0...v10.2.0) (2021-08-04)
6
41
 
7
42
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  <img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" height="200" align="right">
10
10
 
11
- ###### [API](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md) | [FAQ](#faq) | [Contributing](https://github.com/puppeteer/puppeteer/blob/main/CONTRIBUTING.md) | [Troubleshooting](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md)
11
+ ###### [API](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md) | [FAQ](#faq) | [Contributing](https://github.com/puppeteer/puppeteer/blob/main/CONTRIBUTING.md) | [Troubleshooting](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md)
12
12
 
13
13
  > Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the [DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/). Puppeteer runs [headless](https://developers.google.com/web/updates/2017/04/headless-chrome) by default, but can be configured to run full (non-headless) Chrome or Chromium.
14
14
 
@@ -26,7 +26,7 @@ Most things that you can do manually in the browser can be done using Puppeteer!
26
26
  - Test Chrome Extensions.
27
27
  <!-- [END usecases] -->
28
28
 
29
- Give it a spin: https://try-puppeteer.appspot.com/
29
+ Give it a spin: [https://try-puppeteer.appspot.com/](https://try-puppeteer.appspot.com/)
30
30
 
31
31
  <!-- [START getstarted] -->
32
32
 
@@ -41,7 +41,7 @@ npm i puppeteer
41
41
  # or "yarn add puppeteer"
42
42
  ```
43
43
 
44
- Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. To skip the download, download into another path, or download a different browser, see [Environment variables](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#environment-variables).
44
+ Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. To skip the download, download into another path, or download a different browser, see [Environment variables](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#environment-variables).
45
45
 
46
46
  ### puppeteer-core
47
47
 
@@ -66,7 +66,7 @@ Note: Prior to v1.18.1, Puppeteer required at least Node v6.4.0. Versions from v
66
66
  Node 8.9.0+. Starting from v3.0.0 Puppeteer starts to rely on Node 10.18.1+. All examples below use async/await which is only supported in Node v7.6.0 or greater.
67
67
 
68
68
  Puppeteer will be familiar to people using other browser testing frameworks. You create an instance
69
- of `Browser`, open pages, and then manipulate them with [Puppeteer's API](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#).
69
+ of `Browser`, open pages, and then manipulate them with [Puppeteer's API](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#).
70
70
 
71
71
  **Example** - navigating to https://example.com and saving a screenshot as _example.png_:
72
72
 
@@ -91,7 +91,7 @@ Execute script on the command line
91
91
  node example.js
92
92
  ```
93
93
 
94
- Puppeteer sets an initial page size to 800×600px, which defines the screenshot size. The page size can be customized with [`Page.setViewport()`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#pagesetviewportviewport).
94
+ Puppeteer sets an initial page size to 800×600px, which defines the screenshot size. The page size can be customized with [`Page.setViewport()`](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#pagesetviewportviewport).
95
95
 
96
96
  **Example** - create a PDF.
97
97
 
@@ -118,7 +118,7 @@ Execute script on the command line
118
118
  node hn.js
119
119
  ```
120
120
 
121
- See [`Page.pdf()`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#pagepdfoptions) for more information about creating pdfs.
121
+ See [`Page.pdf()`](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#pagepdfoptions) for more information about creating pdfs.
122
122
 
123
123
  **Example** - evaluate script in the context of the page
124
124
 
@@ -153,7 +153,7 @@ Execute script on the command line
153
153
  node get-dimensions.js
154
154
  ```
155
155
 
156
- See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#pageevaluatepagefunction-args) for more information on `evaluate` and related methods like `evaluateOnNewDocument` and `exposeFunction`.
156
+ See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#pageevaluatepagefunction-args) for more information on `evaluate` and related methods like `evaluateOnNewDocument` and `exposeFunction`.
157
157
 
158
158
  <!-- [END getstarted] -->
159
159
 
@@ -163,7 +163,7 @@ See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs
163
163
 
164
164
  **1. Uses Headless mode**
165
165
 
166
- Puppeteer launches Chromium in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). To launch a full version of Chromium, set the [`headless` option](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#puppeteerlaunchoptions) when launching a browser:
166
+ Puppeteer launches Chromium in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). To launch a full version of Chromium, set the [`headless` option](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#puppeteerlaunchoptions) when launching a browser:
167
167
 
168
168
  ```js
169
169
  const browser = await puppeteer.launch({ headless: false }); // default is true
@@ -179,9 +179,9 @@ pass in the executable's path when creating a `Browser` instance:
179
179
  const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome' });
180
180
  ```
181
181
 
182
- You can also use Puppeteer with Firefox Nightly (experimental support). See [`Puppeteer.launch()`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#puppeteerlaunchoptions) for more information.
182
+ You can also use Puppeteer with Firefox Nightly (experimental support). See [`Puppeteer.launch()`](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#puppeteerlaunchoptions) for more information.
183
183
 
184
- See [`this article`](https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/) for a description of the differences between Chromium and Chrome. [`This article`](https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md) describes some differences for Linux users.
184
+ See [`this article`](https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/) for a description of the differences between Chromium and Chrome. [`This article`](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/chromium_browser_vs_google_chrome.md) describes some differences for Linux users.
185
185
 
186
186
  **3. Creates a fresh user profile**
187
187
 
@@ -191,7 +191,7 @@ Puppeteer creates its own browser user profile which it **cleans up on every run
191
191
 
192
192
  ## Resources
193
193
 
194
- - [API Documentation](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md)
194
+ - [API Documentation](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md)
195
195
  - [Examples](https://github.com/puppeteer/puppeteer/tree/main/examples/)
196
196
  - [Community list of Puppeteer resources](https://github.com/transitive-bullshit/awesome-puppeteer)
197
197
 
@@ -333,7 +333,7 @@ See [Contributing](https://github.com/puppeteer/puppeteer/blob/main/CONTRIBUTING
333
333
 
334
334
  Official Firefox support is currently experimental. The ongoing collaboration with Mozilla aims to support common end-to-end testing use cases, for which developers expect cross-browser coverage. The Puppeteer team needs input from users to stabilize Firefox support and to bring missing APIs to our attention.
335
335
 
336
- From Puppeteer v2.1.0 onwards you can specify [`puppeteer.launch({product: 'firefox'})`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#puppeteerlaunchoptions) to run your Puppeteer scripts in Firefox Nightly, without any additional custom patches. While [an older experiment](https://www.npmjs.com/package/puppeteer-firefox) required a patched version of Firefox, [the current approach](https://wiki.mozilla.org/Remote) works with “stock” Firefox.
336
+ From Puppeteer v2.1.0 onwards you can specify [`puppeteer.launch({product: 'firefox'})`](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#puppeteerlaunchoptions) to run your Puppeteer scripts in Firefox Nightly, without any additional custom patches. While [an older experiment](https://www.npmjs.com/package/puppeteer-firefox) required a patched version of Firefox, [the current approach](https://wiki.mozilla.org/Remote) works with “stock” Firefox.
337
337
 
338
338
  We will continue to collaborate with other browser vendors to bring Puppeteer support to browsers such as Safari.
339
339
  This effort includes exploration of a standard for executing cross-browser commands (instead of relying on the non-standard DevTools Protocol used by Chrome).
@@ -433,7 +433,7 @@ await page.evaluate(() => {
433
433
 
434
434
  You may find that Puppeteer does not behave as expected when controlling pages that incorporate audio and video. (For example, [video playback/screenshots is likely to fail](https://github.com/puppeteer/puppeteer/issues/291).) There are two reasons for this:
435
435
 
436
- - Puppeteer is bundled with Chromium — not Chrome — and so by default, it inherits all of [Chromium's media-related limitations](https://www.chromium.org/audio-video). This means that Puppeteer does not support licensed formats such as AAC or H.264. (However, it is possible to force Puppeteer to use a separately-installed version Chrome instead of Chromium via the [`executablePath` option to `puppeteer.launch`](https://github.com/puppeteer/puppeteer/blob/v10.2.0/docs/api.md#puppeteerlaunchoptions). You should only use this configuration if you need an official release of Chrome that supports these media formats.)
436
+ - Puppeteer is bundled with Chromium — not Chrome — and so by default, it inherits all of [Chromium's media-related limitations](https://www.chromium.org/audio-video). This means that Puppeteer does not support licensed formats such as AAC or H.264. (However, it is possible to force Puppeteer to use a separately-installed version Chrome instead of Chromium via the [`executablePath` option to `puppeteer.launch`](https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#puppeteerlaunchoptions). You should only use this configuration if you need an official release of Chrome that supports these media formats.)
437
437
  - Since Puppeteer (in all configurations) controls a desktop version of Chromium/Chrome, features that are only supported by the mobile version of Chrome are not supported. This means that Puppeteer [does not support HTTP Live Streaming (HLS)](https://caniuse.com/#feat=http-live-streaming).
438
438
 
439
439
  #### Q: I am having trouble installing / running Puppeteer in my test environment. Where should I look for help?
@@ -1 +1 @@
1
- {"version":3,"file":"AriaQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAkHzD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,oBAKzB,CAAC"}
1
+ {"version":3,"file":"AriaQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAoHzD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,oBAKzB,CAAC"}
@@ -25,20 +25,20 @@ async function queryAXTree(client, element, accessibleName, role) {
25
25
  const filteredNodes = nodes.filter((node) => node.role.value !== 'StaticText');
26
26
  return filteredNodes;
27
27
  }
28
+ const normalizeValue = (value) => value.replace(/ +/g, ' ').trim();
29
+ const knownAttributes = new Set(['name', 'role']);
30
+ const attributeRegexp = /\[\s*(?<attribute>\w+)\s*=\s*"(?<value>\\.|[^"\\]*)"\s*\]/g;
28
31
  function parseAriaSelector(selector) {
29
- const normalize = (value) => value.replace(/ +/g, ' ').trim();
30
- const knownAttributes = new Set(['name', 'role']);
31
32
  const queryOptions = {};
32
- const attributeRegexp = /\[\s*(?<attribute>\w+)\s*=\s*"(?<value>\\.|[^"\\]*)"\s*\]/g;
33
33
  const defaultName = selector.replace(attributeRegexp, (_, attribute, value) => {
34
34
  attribute = attribute.trim();
35
35
  if (!knownAttributes.has(attribute))
36
36
  throw new Error(`Unknown aria attribute "${attribute}" in selector`);
37
- queryOptions[attribute] = normalize(value);
37
+ queryOptions[attribute] = normalizeValue(value);
38
38
  return '';
39
39
  });
40
40
  if (defaultName && !queryOptions.name)
41
- queryOptions.name = normalize(defaultName);
41
+ queryOptions.name = normalizeValue(defaultName);
42
42
  return queryOptions;
43
43
  }
44
44
  const queryOne = async (element, selector) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AriaQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AriaQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,22 @@ import { Protocol } from 'devtools-protocol';
21
21
  import { Page } from './Page.js';
22
22
  import { ChildProcess } from 'child_process';
23
23
  import { Viewport } from './PuppeteerViewport.js';
24
+ /**
25
+ * BrowserContext options.
26
+ *
27
+ * @public
28
+ */
29
+ export interface BrowserContextOptions {
30
+ /**
31
+ * Proxy server with optional port to use for all requests.
32
+ * Username and password can be set in `Page.authenticate`.
33
+ */
34
+ proxyServer?: string;
35
+ /**
36
+ * Bypass the proxy for the given semi-colon-separated list of hosts.
37
+ */
38
+ proxyBypassList?: string[];
39
+ }
24
40
  /**
25
41
  * @internal
26
42
  */
@@ -32,7 +48,7 @@ export declare type TargetFilterCallback = (target: Protocol.Target.TargetInfo)
32
48
  /**
33
49
  * @public
34
50
  */
35
- export declare type Permission = 'geolocation' | 'midi' | 'notifications' | 'camera' | 'microphone' | 'background-sync' | 'ambient-light-sensor' | 'accelerometer' | 'gyroscope' | 'magnetometer' | 'accessibility-events' | 'clipboard-read' | 'clipboard-write' | 'payment-handler' | 'idle-detection' | 'midi-sysex';
51
+ export declare type Permission = 'geolocation' | 'midi' | 'notifications' | 'camera' | 'microphone' | 'background-sync' | 'ambient-light-sensor' | 'accelerometer' | 'gyroscope' | 'magnetometer' | 'accessibility-events' | 'clipboard-read' | 'clipboard-write' | 'payment-handler' | 'persistent-storage' | 'idle-detection' | 'midi-sysex';
36
52
  /**
37
53
  * @public
38
54
  */
@@ -177,7 +193,7 @@ export declare class Browser extends EventEmitter {
177
193
  * })();
178
194
  * ```
179
195
  */
180
- createIncognitoBrowserContext(): Promise<BrowserContext>;
196
+ createIncognitoBrowserContext(options?: BrowserContextOptions): Promise<BrowserContext>;
181
197
  /**
182
198
  * Returns an array of all open browser contexts. In a newly created browser, this will
183
199
  * return a single instance of {@link BrowserContext}.
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ const WEB_PERMISSION_TO_PROTOCOL_PERMISSION = new Map([
38
38
  ['clipboard-read', 'clipboardReadWrite'],
39
39
  ['clipboard-write', 'clipboardReadWrite'],
40
40
  ['payment-handler', 'paymentHandler'],
41
+ ['persistent-storage', 'durableStorage'],
41
42
  ['idle-detection', 'idleDetection'],
42
43
  // chrome-specific permissions we have.
43
44
  ['midi-sysex', 'midiSysex'],
@@ -141,8 +142,12 @@ class Browser extends EventEmitter_js_1.EventEmitter {
141
142
  * })();
142
143
  * ```
143
144
  */
144
- async createIncognitoBrowserContext() {
145
- const { browserContextId } = await this._connection.send('Target.createBrowserContext');
145
+ async createIncognitoBrowserContext(options = {}) {
146
+ const { proxyServer = '', proxyBypassList = [] } = options;
147
+ const { browserContextId } = await this._connection.send('Target.createBrowserContext', {
148
+ proxyServer,
149
+ proxyBypassList: proxyBypassList && proxyBypassList.join(','),
150
+ });
146
151
  const context = new BrowserContext(this._connection, this, browserContextId);
147
152
  this._contexts.set(browserContextId, context);
148
153
  return context;