aranha-selenium 0.11.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b17f755bf67c8814c6c608817a23ddd0fc2528c6806da5e1ee72b9929d197ce
4
- data.tar.gz: 93ac73e352f1759b467c7161511a02b47347052e3275a73518ffb8b20cb07c1b
3
+ metadata.gz: 152c6519e39e5d3fca131dcae37c5809b2de71e7bc0948a1712895dfc6817c53
4
+ data.tar.gz: c687b992ac4a06a0adb3dc255f81f195a99b4adbba331dc52a6a6931cd41d755
5
5
  SHA512:
6
- metadata.gz: a1db2ce0c8c9e20e5fe35104349e95226549bc39c8601c07601549b5dc49f598af28a36d0eb5c66a3b304f1314d75b05b2e357e06faad3ed4891adad6ed6cdec
7
- data.tar.gz: bb7a762a7be918feeece1db522149df855196b85d121674bf6f4d03661a4ba505fd417d2a8236e89841e738b5beaaad322194f5ca740f71d2582b57b998e1189
6
+ metadata.gz: b589490c2fbf06e0f3e572caff2c8a56c650899dc0b78e4f6c911af2ba10c6cb2dad40cf6f0edb6c6c834d5ffea566ae06745981fd1a7a1058e95ccf81ba5681
7
+ data.tar.gz: 4b83ccedda3ae287770d90eeba8145ad76ea0a54b5b926ef6ac32984bf8591acc54e692283156348c91aa84934f71000419e472e2af4fb5b4a5ae52d88ef3803
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/driver_options'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
3
  module Aranha
7
4
  module Selenium
8
5
  class DriverFactory
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/driver_factory/base'
4
3
  require 'selenium-webdriver'
5
4
 
6
5
  module Aranha
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/driver_factory/base'
4
3
  require 'selenium-webdriver'
5
4
 
6
5
  module Aranha
@@ -8,11 +7,7 @@ module Aranha
8
7
  class DriverFactory
9
8
  class Firefox < ::Aranha::Selenium::DriverFactory::Base
10
9
  def build
11
- ::Selenium::WebDriver.for(
12
- :firefox,
13
- options: build_options,
14
- desired_capabilities: build_capabilities
15
- )
10
+ ::Selenium::WebDriver.for(:firefox, options: build_options)
16
11
  end
17
12
 
18
13
  private
@@ -23,27 +18,22 @@ module Aranha
23
18
  r
24
19
  end
25
20
 
26
- def build_capabilities
27
- caps = {}
28
- caps[:accept_insecure_certs] = true if accept_insecure_certs?
29
- ::Selenium::WebDriver::Remote::Capabilities.firefox(caps)
30
- end
31
-
32
21
  def build_options
33
- r = ::Selenium::WebDriver::Firefox::Options.new(args: build_args,
34
- prefs: build_preferences)
22
+ r = ::Selenium::WebDriver::Firefox::Options.new(args: build_args)
23
+ r.accept_insecure_certs = accept_insecure_certs?
35
24
  build_profile.if_present { |v| r.profile = v }
36
25
  r
37
26
  end
38
27
 
39
28
  def build_preferences
40
- r = {
41
- 'browser.download.dir' => downloads_dir,
29
+ r = ::Selenium::WebDriver::Firefox::Profile.new
30
+ {
31
+ 'browser.download.dir' => downloads_dir.to_path,
42
32
  'browser.download.folderList' => 2,
43
33
  'browser.download.start_downloads_in_tmp_dir' => true,
44
34
  'browser.helperApps.neverAsk.saveToDisk' => auto_download_mime_types.join(';'),
45
35
  'pdfjs.disabled' => true
46
- }
36
+ }.each { |k, v| r[k] = v }
47
37
  r['general.useragent.override'] = user_agent if user_agent.present?
48
38
  r
49
39
  end
@@ -54,6 +44,8 @@ module Aranha
54
44
  elsif profile_dir.present?
55
45
  ::FileUtils.mkdir_p(profile_dir)
56
46
  ::Selenium::WebDriver::Firefox::Profile.new(profile_dir)
47
+ else
48
+ build_preferences
57
49
  end
58
50
  end
59
51
 
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/driver_options'
4
- require 'aranha/selenium/executables'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
3
  module Aranha
8
4
  module Selenium
9
5
  class DriverFactory
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/driver_factory'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
3
  module Aranha
7
4
  module Selenium
8
5
  class DriverOptions
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/boolean'
4
- require 'eac_ruby_utils/core_ext'
5
3
  require 'tmpdir'
6
4
 
7
5
  module Aranha
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Aranha
6
4
  module Selenium
7
5
  module Executables
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_fs/file_info'
4
- require 'eac_ruby_utils/core_ext'
4
+
5
5
  require 'tmpdir'
6
6
 
7
7
  module Aranha
@@ -19,7 +19,14 @@ module Aranha
19
19
 
20
20
  # @return [Pathname]
21
21
  def dir
22
- @dir ||= ::Dir.mktmpdir.to_pathname
22
+ @dir ||= build_temporary_directory
23
+ end
24
+
25
+ protected
26
+
27
+ # @return [Pathname]
28
+ def build_temporary_directory
29
+ ::Dir.mktmpdir.to_pathname
23
30
  end
24
31
  end
25
32
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Aranha
6
4
  module Selenium
7
5
  class Session < ::SimpleDelegator
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/session/element'
4
3
  require 'selenium-webdriver'
5
4
 
6
5
  module Aranha
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/selenium/driver_options'
4
- require 'aranha/selenium/driver_factory'
5
- require 'eac_ruby_utils/core_ext'
6
3
  require 'selenium-webdriver'
7
4
 
8
5
  module Aranha
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'selenium-webdriver'
4
+
5
+ module Aranha
6
+ module Selenium
7
+ module TemporaryErrors
8
+ ALL_ERRORS = [::Selenium::WebDriver::Error::TimeoutError].freeze
9
+
10
+ class << self
11
+ def errors
12
+ ALL_ERRORS
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Aranha
4
4
  module Selenium
5
- VERSION = '0.11.1'
5
+ VERSION = '0.13.0'
6
6
  end
7
7
  end
@@ -1,9 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
+ EacRubyUtils::RootModuleSetup.perform __FILE__
4
5
 
5
6
  module Aranha
6
7
  module Selenium
7
- require_sub __FILE__
8
8
  end
9
9
  end
10
+
11
+ require 'aranha'
metadata CHANGED
@@ -1,91 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aranha-selenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-18 00:00:00.000000000 Z
11
+ date: 2026-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: eac_fs
14
+ name: aranha
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.17'
19
+ version: '0.20'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.17'
26
+ version: '0.20'
27
27
  - !ruby/object:Gem::Dependency
28
- name: eac_ruby_utils
28
+ name: eac_fs
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.122'
33
+ version: '0.20'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.122'
40
+ version: '0.20'
41
41
  - !ruby/object:Gem::Dependency
42
- name: eac_templates
42
+ name: eac_ruby_utils
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.7'
47
+ version: '0.128'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.128.5
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: '0.7'
57
+ version: '0.128'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.128.5
55
61
  - !ruby/object:Gem::Dependency
56
- name: selenium-webdriver
62
+ name: eac_templates
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '3.142'
67
+ version: '0.8'
62
68
  - - ">="
63
69
  - !ruby/object:Gem::Version
64
- version: 3.142.7
70
+ version: 0.8.3
65
71
  type: :runtime
66
72
  prerelease: false
67
73
  version_requirements: !ruby/object:Gem::Requirement
68
74
  requirements:
69
75
  - - "~>"
70
76
  - !ruby/object:Gem::Version
71
- version: '3.142'
77
+ version: '0.8'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 0.8.3
81
+ - !ruby/object:Gem::Dependency
82
+ name: rexml
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
72
92
  - - ">="
73
93
  - !ruby/object:Gem::Version
74
- version: 3.142.7
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: selenium-webdriver
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '4.40'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '4.40'
75
109
  - !ruby/object:Gem::Dependency
76
110
  name: eac_ruby_gem_support
77
111
  requirement: !ruby/object:Gem::Requirement
78
112
  requirements:
79
113
  - - "~>"
80
114
  - !ruby/object:Gem::Version
81
- version: '0.10'
115
+ version: '0.12'
82
116
  type: :development
83
117
  prerelease: false
84
118
  version_requirements: !ruby/object:Gem::Requirement
85
119
  requirements:
86
120
  - - "~>"
87
121
  - !ruby/object:Gem::Version
88
- version: '0.10'
122
+ version: '0.12'
89
123
  - !ruby/object:Gem::Dependency
90
124
  name: stub_server
91
125
  requirement: !ruby/object:Gem::Requirement
@@ -100,8 +134,8 @@ dependencies:
100
134
  - - "~>"
101
135
  - !ruby/object:Gem::Version
102
136
  version: '0.7'
103
- description:
104
- email:
137
+ description:
138
+ email:
105
139
  executables: []
106
140
  extensions: []
107
141
  extra_rdoc_files: []
@@ -125,12 +159,13 @@ files:
125
159
  - lib/aranha/selenium/session/scroll.rb
126
160
  - lib/aranha/selenium/session/select.rb
127
161
  - lib/aranha/selenium/session/wait.rb
162
+ - lib/aranha/selenium/temporary_errors.rb
128
163
  - lib/aranha/selenium/version.rb
129
164
  - template/aranha/selenium/session/form_request/form_request_function.js
130
- homepage:
165
+ homepage:
131
166
  licenses: []
132
167
  metadata: {}
133
- post_install_message:
168
+ post_install_message:
134
169
  rdoc_options: []
135
170
  require_paths:
136
171
  - lib
@@ -145,8 +180,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
180
  - !ruby/object:Gem::Version
146
181
  version: '0'
147
182
  requirements: []
148
- rubygems_version: 3.1.6
149
- signing_key:
183
+ rubygems_version: 3.4.19
184
+ signing_key:
150
185
  specification_version: 4
151
186
  summary: Selenium' utilities for Ruby.
152
187
  test_files: []