puppeteer-ruby 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b852a48cd11f269c3b4eec0a85583b120a5cd1b0bc204e27a6ec0e365aa33dd
4
- data.tar.gz: 8864c21fe02f6e3fcbb07c6c009516e91273ecfe0636437bc41015187e9985ad
3
+ metadata.gz: f1b2bb89d30c93e2f942e9e14b72952f7fbbdcb027c564a9477d920316032d83
4
+ data.tar.gz: 716ee3c3cc6d7a7d1086d9dc34b97c879996dfcc18e88744a9a70e8d2292b842
5
5
  SHA512:
6
- metadata.gz: dd3cdb6d7b64b0b6f6e2568eb83cad62f36ea45943f0df9cd434c6e30221ccd47b161a0368cbe02cacf4a6a3c6c6ecf293bd1313829d7f02daed5d1d2c5c9f73
7
- data.tar.gz: 541c2dffa4c6359dff6c2d9d03e70a039057d554c1ee6509d0574d194f17a6407a968c30153bae850f8c4c0e9fa7ade7beaea2dcc8d136a896e80b22831a436f
6
+ metadata.gz: 952bc67ff27947ac127c43316476a9e690f6dfc0cdfaa6dabb5030ddca782f178bb0e9c71c156c6a707979d1322a4d0f24eacf0015e2b92db77d4da31e1ecc7c
7
+ data.tar.gz: 58775749a3ef44e2e2ab27fd90fee93ae74b2fa7ecec087bdb8df4bc5ede5e4199f07dd9cff587fd968ea509b03962c43b35e7711307f7b163f59ffceb3b7a07
data/CHANGELOG.md CHANGED
@@ -1,14 +1,19 @@
1
- ### master [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.29.0...master)]
1
+ ### master [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.30.0...master)]
2
2
 
3
3
  * xxx
4
4
 
5
+ ### 0.30.0 [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.29.0...0.30.0)]
6
+
7
+ New features:
8
+
9
+ * S, SS, Seval, SSeval is renamed to query_selector, query_selector_all, eval_on_selector, eval_on_selector_all
10
+
5
11
  ### 0.29.0 [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.28.1...0.29.0)]
6
12
 
7
13
  New features:
8
14
 
9
15
  * Add `AriaQueryHandler`. Now we can use "aria/...." for selectors.
10
16
 
11
-
12
17
  ### 0.28.1 [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.0.27...0.28.1)]
13
18
 
14
19
  New features:
data/README.md CHANGED
@@ -46,18 +46,18 @@ Puppeteer.launch(headless: false, slow_mo: 50, args: ['--guest', '--window-size=
46
46
  page.viewport = Puppeteer::Viewport.new(width: 1280, height: 800)
47
47
  page.goto("https://github.com/", wait_until: 'domcontentloaded')
48
48
 
49
- form = page.S("form.js-site-search-form")
50
- searchInput = form.S("input.header-search-input")
49
+ form = page.query_selector("form.js-site-search-form")
50
+ searchInput = form.query_selector("input.header-search-input")
51
51
  searchInput.type_text("puppeteer")
52
52
  await_all(
53
53
  page.async_wait_for_navigation,
54
54
  searchInput.async_press("Enter"),
55
55
  )
56
56
 
57
- list = page.S("ul.repo-list")
58
- items = list.SS("div.f4")
57
+ list = page.query_selector("ul.repo-list")
58
+ items = list.query_selector_all("div.f4")
59
59
  items.each do |item|
60
- title = item.Seval("a", "a => a.innerText")
60
+ title = item.eval_on_selector("a", "a => a.innerText")
61
61
  puts("==> #{title}")
62
62
  end
63
63
  end
@@ -130,7 +130,7 @@ RSpec.describe 'hotel.testplanisphere.dev', type: :feature do
130
130
  puppeteer_page = @browser.pages.first
131
131
  puppeteer_page.wait_for_selector('li.nav-item')
132
132
 
133
- reservation_link = puppeteer_page.SS('li.nav-item')[1]
133
+ reservation_link = puppeteer_page.query_selector_all('li.nav-item')[1]
134
134
 
135
135
  await_all(
136
136
  puppeteer_page.async_wait_for_navigation,
@@ -147,7 +147,7 @@ RSpec.describe 'hotel.testplanisphere.dev', type: :feature do
147
147
 
148
148
  # expectation with puppeteer
149
149
  puppeteer_page = @browser.pages.first
150
- body_text = puppeteer_page.Seval('body', '(el) => el.textContent')
150
+ body_text = puppeteer_page.eval_on_selector('body', '(el) => el.textContent')
151
151
  expect(body_text).to include('宿泊プラン一覧')
152
152
  end
153
153
  ```
@@ -126,12 +126,13 @@ class Puppeteer::DOMWorld
126
126
  execution_context.evaluate(page_function, *args)
127
127
  end
128
128
 
129
- # `$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
129
+ # `$()` in JavaScript.
130
130
  # @param {string} selector
131
131
  # @return {!Promise<?Puppeteer.ElementHandle>}
132
- def S(selector)
133
- document.S(selector)
132
+ def query_selector(selector)
133
+ document.query_selector(selector)
134
134
  end
135
+ alias_method :S, :query_selector
135
136
 
136
137
  private def evaluate_document
137
138
  # sometimes execution_context.evaluate_handle('document') returns null object.
@@ -158,30 +159,33 @@ class Puppeteer::DOMWorld
158
159
  document.Sx(expression)
159
160
  end
160
161
 
161
- # `$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
162
+ # `$eval()` in JavaScript.
162
163
  # @param {string} selector
163
164
  # @param {Function|string} pageFunction
164
165
  # @param {!Array<*>} args
165
166
  # @return {!Promise<(!Object|undefined)>}
166
- def Seval(selector, page_function, *args)
167
- document.Seval(selector, page_function, *args)
167
+ def eval_on_selector(selector, page_function, *args)
168
+ document.eval_on_selector(selector, page_function, *args)
168
169
  end
170
+ alias_method :Seval, :eval_on_selector
169
171
 
170
- # `$$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
172
+ # `$$eval()` in JavaScript.
171
173
  # @param {string} selector
172
174
  # @param {Function|string} pageFunction
173
175
  # @param {!Array<*>} args
174
176
  # @return {!Promise<(!Object|undefined)>}
175
- def SSeval(selector, page_function, *args)
176
- document.SSeval(selector, page_function, *args)
177
+ def eval_on_selector_all(selector, page_function, *args)
178
+ document.eval_on_selector_all(selector, page_function, *args)
177
179
  end
180
+ alias_method :SSeval, :eval_on_selector_all
178
181
 
179
- # `$$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
182
+ # `$$()` in JavaScript.
180
183
  # @param {string} selector
181
184
  # @return {!Promise<!Array<!Puppeteer.ElementHandle>>}
182
- def SS(selector)
183
- document.SS(selector)
185
+ def query_selector_all(selector)
186
+ document.query_selector_all(selector)
184
187
  end
188
+ alias_method :SS, :query_selector_all
185
189
 
186
190
  # @return [String]
187
191
  def content
@@ -376,14 +380,14 @@ class Puppeteer::DOMWorld
376
380
  # @param button [String] "left"|"right"|"middle"
377
381
  # @param click_count [Number]
378
382
  def click(selector, delay: nil, button: nil, click_count: nil)
379
- handle = S(selector) or raise ElementNotFoundError.new(selector)
383
+ handle = query_selector(selector) or raise ElementNotFoundError.new(selector)
380
384
  handle.click(delay: delay, button: button, click_count: click_count)
381
385
  handle.dispose
382
386
  end
383
387
 
384
388
  # @param selector [String]
385
389
  def focus(selector)
386
- handle = S(selector) or raise ElementNotFoundError.new(selector)
390
+ handle = query_selector(selector) or raise ElementNotFoundError.new(selector)
387
391
  handle.focus
388
392
  handle.dispose
389
393
  end
@@ -401,7 +405,7 @@ class Puppeteer::DOMWorld
401
405
  # @param selector [String]
402
406
  # @return [Array<String>]
403
407
  def select(selector, *values)
404
- handle = S(selector) or raise ElementNotFoundError.new(selector)
408
+ handle = query_selector(selector) or raise ElementNotFoundError.new(selector)
405
409
  result = handle.select(*values)
406
410
  handle.dispose
407
411
 
@@ -410,7 +414,7 @@ class Puppeteer::DOMWorld
410
414
 
411
415
  # @param selector [String]
412
416
  def tap(selector)
413
- handle = S(selector) or raise ElementNotFoundError.new(selector)
417
+ handle = query_selector(selector) or raise ElementNotFoundError.new(selector)
414
418
  handle.tap
415
419
  handle.dispose
416
420
  end
@@ -419,7 +423,7 @@ class Puppeteer::DOMWorld
419
423
  # @param text [String]
420
424
  # @param delay [Number]
421
425
  def type_text(selector, text, delay: nil)
422
- handle = S(selector) or raise ElementNotFoundError.new(selector)
426
+ handle = query_selector(selector) or raise ElementNotFoundError.new(selector)
423
427
  handle.type_text(text, delay: delay)
424
428
  handle.dispose
425
429
  end
@@ -318,17 +318,19 @@ class Puppeteer::ElementHandle < Puppeteer::JSHandle
318
318
  Puppeteer::QueryHandlerManager.instance
319
319
  end
320
320
 
321
- # `$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
321
+ # `$()` in JavaScript.
322
322
  # @param selector [String]
323
- def S(selector)
323
+ def query_selector(selector)
324
324
  query_handler_manager.detect_query_handler(selector).query_one(self)
325
325
  end
326
+ alias_method :S, :query_selector
326
327
 
327
- # `$$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
328
+ # `$$()` in JavaScript.
328
329
  # @param selector [String]
329
- def SS(selector)
330
+ def query_selector_all(selector)
330
331
  query_handler_manager.detect_query_handler(selector).query_all(self)
331
332
  end
333
+ alias_method :SS, :query_selector_all
332
334
 
333
335
  class ElementNotFoundError < StandardError
334
336
  def initialize(selector)
@@ -336,12 +338,12 @@ class Puppeteer::ElementHandle < Puppeteer::JSHandle
336
338
  end
337
339
  end
338
340
 
339
- # `$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
341
+ # `$eval()` in JavaScript.
340
342
  # @param selector [String]
341
343
  # @param page_function [String]
342
344
  # @return [Object]
343
- def Seval(selector, page_function, *args)
344
- element_handle = S(selector)
345
+ def eval_on_selector(selector, page_function, *args)
346
+ element_handle = query_selector(selector)
345
347
  unless element_handle
346
348
  raise ElementNotFoundError.new(selector)
347
349
  end
@@ -350,22 +352,24 @@ class Puppeteer::ElementHandle < Puppeteer::JSHandle
350
352
 
351
353
  result
352
354
  end
355
+ alias_method :Seval, :eval_on_selector
353
356
 
354
- define_async_method :async_Seval
357
+ define_async_method :async_eval_on_selector
355
358
 
356
- # `$$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
359
+ # `$$eval()` in JavaScript.
357
360
  # @param selector [String]
358
361
  # @param page_function [String]
359
362
  # @return [Object]
360
- def SSeval(selector, page_function, *args)
363
+ def eval_on_selector_all(selector, page_function, *args)
361
364
  handles = query_handler_manager.detect_query_handler(selector).query_all_array(self)
362
365
  result = handles.evaluate(page_function, *args)
363
366
  handles.dispose
364
367
 
365
368
  result
366
369
  end
370
+ alias_method :SSeval, :eval_on_selector_all
367
371
 
368
- define_async_method :async_SSeval
372
+ define_async_method :async_eval_on_selector_all
369
373
 
370
374
  # `$x()` in JavaScript. $ is not allowed to use as a method name in Ruby.
371
375
  # @param expression [String]
@@ -61,14 +61,15 @@ class Puppeteer::Frame
61
61
 
62
62
  define_async_method :async_evaluate
63
63
 
64
- # `$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
64
+ # `$()` in JavaScript.
65
65
  # @param {string} selector
66
66
  # @return {!Promise<?Puppeteer.ElementHandle>}
67
- def S(selector)
68
- @main_world.S(selector)
67
+ def query_selector(selector)
68
+ @main_world.query_selector(selector)
69
69
  end
70
+ alias_method :S, :query_selector
70
71
 
71
- define_async_method :async_S
72
+ define_async_method :async_query_selector
72
73
 
73
74
  # `$x()` in JavaScript. $ is not allowed to use as a method name in Ruby.
74
75
  # @param {string} expression
@@ -79,36 +80,39 @@ class Puppeteer::Frame
79
80
 
80
81
  define_async_method :async_Sx
81
82
 
82
- # `$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
83
+ # `$eval()` in JavaScript.
83
84
  # @param {string} selector
84
85
  # @param {Function|string} pageFunction
85
86
  # @param {!Array<*>} args
86
87
  # @return {!Promise<(!Object|undefined)>}
87
- def Seval(selector, page_function, *args)
88
- @main_world.Seval(selector, page_function, *args)
88
+ def eval_on_selector(selector, page_function, *args)
89
+ @main_world.eval_on_selector(selector, page_function, *args)
89
90
  end
91
+ alias_method :Seval, :eval_on_selector
90
92
 
91
- define_async_method :async_Seval
93
+ define_async_method :async_eval_on_selector
92
94
 
93
- # `$$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
95
+ # `$$eval()` in JavaScript.
94
96
  # @param {string} selector
95
97
  # @param {Function|string} pageFunction
96
98
  # @param {!Array<*>} args
97
99
  # @return {!Promise<(!Object|undefined)>}
98
- def SSeval(selector, page_function, *args)
99
- @main_world.SSeval(selector, page_function, *args)
100
+ def eval_on_selector_all(selector, page_function, *args)
101
+ @main_world.eval_on_selector_all(selector, page_function, *args)
100
102
  end
103
+ alias_method :SSeval, :eval_on_selector_all
101
104
 
102
- define_async_method :async_SSeval
105
+ define_async_method :async_eval_on_selector_all
103
106
 
104
- # `$$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
107
+ # `$$()` in JavaScript.
105
108
  # @param {string} selector
106
109
  # @return {!Promise<!Array<!Puppeteer.ElementHandle>>}
107
- def SS(selector)
108
- @main_world.SS(selector)
110
+ def query_selector_all(selector)
111
+ @main_world.query_selector_all(selector)
109
112
  end
113
+ alias_method :SS, :query_selector_all
110
114
 
111
- define_async_method :async_SS
115
+ define_async_method :async_query_selector_all
112
116
 
113
117
  # @return [String]
114
118
  def content
@@ -276,23 +276,25 @@ class Puppeteer::Page
276
276
  @timeout_settings.default_timeout = timeout
277
277
  end
278
278
 
279
- # `$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
279
+ # `$()` in JavaScript.
280
280
  # @param {string} selector
281
281
  # @return {!Promise<?Puppeteer.ElementHandle>}
282
- def S(selector)
283
- main_frame.S(selector)
282
+ def query_selector(selector)
283
+ main_frame.query_selector(selector)
284
284
  end
285
+ alias_method :S, :query_selector
285
286
 
286
- define_async_method :async_S
287
+ define_async_method :async_query_selector
287
288
 
288
- # `$$()` in JavaScript. $ is not allowed to use as a method name in Ruby.
289
+ # `$$()` in JavaScript.
289
290
  # @param {string} selector
290
291
  # @return {!Promise<!Array<!Puppeteer.ElementHandle>>}
291
- def SS(selector)
292
- main_frame.SS(selector)
292
+ def query_selector_all(selector)
293
+ main_frame.query_selector_all(selector)
293
294
  end
295
+ alias_method :SS, :query_selector_all
294
296
 
295
- define_async_method :async_SS
297
+ define_async_method :async_query_selector_all
296
298
 
297
299
  # @param {Function|string} pageFunction
298
300
  # @param {!Array<*>} args
@@ -311,25 +313,27 @@ class Puppeteer::Page
311
313
  context.query_objects(prototype_handle)
312
314
  end
313
315
 
314
- # `$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
316
+ # `$eval()` in JavaScript.
315
317
  # @param selector [String]
316
318
  # @param page_function [String]
317
319
  # @return [Object]
318
- def Seval(selector, page_function, *args)
319
- main_frame.Seval(selector, page_function, *args)
320
+ def eval_on_selector(selector, page_function, *args)
321
+ main_frame.eval_on_selector(selector, page_function, *args)
320
322
  end
323
+ alias_method :Seval, :eval_on_selector
321
324
 
322
- define_async_method :async_Seval
325
+ define_async_method :async_eval_on_selector
323
326
 
324
- # `$$eval()` in JavaScript. $ is not allowed to use as a method name in Ruby.
327
+ # `$$eval()` in JavaScript.
325
328
  # @param selector [String]
326
329
  # @param page_function [String]
327
330
  # @return [Object]
328
- def SSeval(selector, page_function, *args)
329
- main_frame.SSeval(selector, page_function, *args)
331
+ def eval_on_selector_all(selector, page_function, *args)
332
+ main_frame.eval_on_selector_all(selector, page_function, *args)
330
333
  end
334
+ alias_method :SSeval, :eval_on_selector_all
331
335
 
332
- define_async_method :async_SSeval
336
+ define_async_method :async_eval_on_selector_all
333
337
 
334
338
  # `$x()` in JavaScript. $ is not allowed to use as a method name in Ruby.
335
339
  # @param {string} expression
@@ -1,3 +1,3 @@
1
1
  class Puppeteer
2
- VERSION = '0.29.0'
2
+ VERSION = '0.30.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppeteer-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-23 00:00:00.000000000 Z
11
+ date: 2021-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby