vapir-ie 1.7.1.rc1 → 1.7.1
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.
- data/lib/vapir-ie/container.rb +1 -1
- data/lib/vapir-ie/element.rb +4 -4
- data/lib/vapir-ie/ie-class.rb +4 -4
- data/lib/vapir-ie/page_container.rb +5 -5
- data/lib/vapir-ie/version.rb +1 -1
- data/lib/vapir-ie/win32ole.rb +1 -1
- metadata +15 -12
data/lib/vapir-ie/container.rb
CHANGED
@@ -27,7 +27,7 @@ module Vapir
|
|
27
27
|
options=handle_options(options, :handle => :ignore)
|
28
28
|
begin
|
29
29
|
yield
|
30
|
-
rescue WIN32OLERuntimeError, RuntimeError, Vapir::Exception::ExistenceFailureException
|
30
|
+
rescue WIN32OLERuntimeError, RuntimeError, NoMethodError, Vapir::Exception::ExistenceFailureException
|
31
31
|
raise if $!.class==RuntimeError && $!.message !~ /HRESULT/ # sometimes WIN32OLE raises a RuntimeError instead of a WIN32OLERuntimeError. only catch a RuntimeError if it's from WIN32OLE, indicated by HRESULT in the error message.
|
32
32
|
handle_existence_failure($!, options)
|
33
33
|
end
|
data/lib/vapir-ie/element.rb
CHANGED
@@ -333,7 +333,7 @@ module Vapir
|
|
333
333
|
if (scroll_left=el.scrollLeft).is_a?(Numeric) && (scroll_top=el.scrollTop).is_a?(Numeric)
|
334
334
|
xy+=Vector[scroll_left, scroll_top]
|
335
335
|
end
|
336
|
-
rescue WIN32OLERuntimeError
|
336
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
337
337
|
# doesn't respond to those; do nothing.
|
338
338
|
end
|
339
339
|
el=el.parentNode
|
@@ -349,7 +349,7 @@ module Vapir
|
|
349
349
|
doc=container.document_object || (return false)
|
350
350
|
win=doc.parentWindow || (return false)
|
351
351
|
document_object=win.document || (return false) # I don't know why container.document_object != container.document_object.parentWindow.document
|
352
|
-
rescue WIN32OLERuntimeError
|
352
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
353
353
|
# if a call to these methods from the above block raised this exception, we don't exist.
|
354
354
|
# if that's not the error, it's unexpected; raise.
|
355
355
|
if $!.message =~ /unknown property or method `(parentWindow|contentWindow|document)'/
|
@@ -361,7 +361,7 @@ module Vapir
|
|
361
361
|
begin
|
362
362
|
# we need a javascript function to test equality because comparing two WIN32OLEs always returns false (unless they have the same object_id, which these don't)
|
363
363
|
win.execScript("__watir_javascript_equals__=function(a, b){return a==b;}")
|
364
|
-
rescue WIN32OLERuntimeError
|
364
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
365
365
|
return false
|
366
366
|
end
|
367
367
|
|
@@ -373,7 +373,7 @@ module Vapir
|
|
373
373
|
return true
|
374
374
|
end
|
375
375
|
current_node=current_node.parentNode
|
376
|
-
rescue WIN32OLERuntimeError
|
376
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
377
377
|
# two possibilities for why we're here:
|
378
378
|
# if the method __watir_javascript_equals__ stops existing, then that probably means the window changed, meaning @element object doesn't exist anymore.
|
379
379
|
# if we encounter an error trying to access parentNode before reaching the current document, @element_object doesn't exist.
|
data/lib/vapir-ie/ie-class.rb
CHANGED
@@ -272,13 +272,13 @@ module Vapir
|
|
272
272
|
begin
|
273
273
|
title = window.locationname
|
274
274
|
title = window.document.title
|
275
|
-
rescue WIN32OLERuntimeError
|
275
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
276
276
|
end
|
277
277
|
ieTemp = window if Vapir::fuzzy_match(title, what)
|
278
278
|
when :hwnd
|
279
279
|
begin
|
280
280
|
ieTemp = window if what == window.HWND
|
281
|
-
rescue WIN32OLERuntimeError
|
281
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
282
282
|
end
|
283
283
|
else
|
284
284
|
raise ArgumentError
|
@@ -344,7 +344,7 @@ module Vapir
|
|
344
344
|
def exists?
|
345
345
|
!!(@ie && begin
|
346
346
|
@ie.name
|
347
|
-
rescue WIN32OLERuntimeError
|
347
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
348
348
|
raise unless $!.message =~ ExistenceFailureCodesRE
|
349
349
|
false
|
350
350
|
end)
|
@@ -440,7 +440,7 @@ module Vapir
|
|
440
440
|
else
|
441
441
|
true
|
442
442
|
end
|
443
|
-
rescue WIN32OLERuntimeError
|
443
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
444
444
|
raise unless $!.message =~ ExistenceFailureCodesRE
|
445
445
|
true
|
446
446
|
end
|
@@ -69,7 +69,7 @@ module Vapir
|
|
69
69
|
result=nil
|
70
70
|
begin
|
71
71
|
result=document_object.parentWindow.eval(source)
|
72
|
-
rescue WIN32OLERuntimeError
|
72
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
73
73
|
# don't retry more than once; don't catch anything but the particular thing we're looking for
|
74
74
|
if retried || $!.message !~ /unknown property or method:? `eval'/
|
75
75
|
raise
|
@@ -114,7 +114,7 @@ module Vapir
|
|
114
114
|
doc_or_ret = proc do
|
115
115
|
begin
|
116
116
|
document_object
|
117
|
-
rescue WIN32OLERuntimeError
|
117
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
118
118
|
return
|
119
119
|
end
|
120
120
|
end
|
@@ -171,7 +171,7 @@ module Vapir
|
|
171
171
|
frame=document.frames[i.to_s]
|
172
172
|
frame_document=begin
|
173
173
|
frame.document
|
174
|
-
rescue WIN32OLERuntimeError
|
174
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
175
175
|
$!
|
176
176
|
end
|
177
177
|
case frame_document
|
@@ -181,7 +181,7 @@ module Vapir
|
|
181
181
|
when WIN32OLE
|
182
182
|
# frame has a document - check recursively
|
183
183
|
all_frames_complete?(frame_document, urls)
|
184
|
-
when WIN32OLERuntimeError
|
184
|
+
when WIN32OLERuntimeError, NoMethodError
|
185
185
|
# if we get a WIN32OLERuntimeError with access denied, that is probably a 404 and it's not going
|
186
186
|
# to load, so no reason to keep waiting for it - consider it 'complete' and return true.
|
187
187
|
# there's probably a better method of determining this but I haven't found it yet.
|
@@ -190,7 +190,7 @@ module Vapir
|
|
190
190
|
raise RuntimeError, "unknown frame.document: #{frame_document.inspect} (#{frame_document.class})"
|
191
191
|
end
|
192
192
|
end
|
193
|
-
rescue WIN32OLERuntimeError
|
193
|
+
rescue WIN32OLERuntimeError, NoMethodError
|
194
194
|
return $!
|
195
195
|
end
|
196
196
|
end
|
data/lib/vapir-ie/version.rb
CHANGED
data/lib/vapir-ie/win32ole.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vapir-ie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
4
|
+
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 7
|
8
8
|
- 1
|
9
|
-
|
10
|
-
version: 1.7.1.rc1
|
9
|
+
version: 1.7.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Ethan
|
@@ -15,13 +14,14 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-08-
|
17
|
+
date: 2010-08-23 00:00:00 -04:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: win32-process
|
23
22
|
prerelease: false
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
@@ -36,6 +36,7 @@ dependencies:
|
|
36
36
|
name: windows-pr
|
37
37
|
prerelease: false
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
39
40
|
requirements:
|
40
41
|
- - ">="
|
41
42
|
- !ruby/object:Gem::Version
|
@@ -50,6 +51,7 @@ dependencies:
|
|
50
51
|
name: vapir-common
|
51
52
|
prerelease: false
|
52
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
53
55
|
requirements:
|
54
56
|
- - "="
|
55
57
|
- !ruby/object:Gem::Version
|
@@ -57,14 +59,14 @@ dependencies:
|
|
57
59
|
- 1
|
58
60
|
- 7
|
59
61
|
- 1
|
60
|
-
|
61
|
-
version: 1.7.1.rc1
|
62
|
+
version: 1.7.1
|
62
63
|
type: :runtime
|
63
64
|
version_requirements: *id003
|
64
65
|
- !ruby/object:Gem::Dependency
|
65
66
|
name: nokogiri
|
66
67
|
prerelease: false
|
67
68
|
requirement: &id004 !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
68
70
|
requirements:
|
69
71
|
- - ">="
|
70
72
|
- !ruby/object:Gem::Version
|
@@ -77,6 +79,7 @@ dependencies:
|
|
77
79
|
name: ffi
|
78
80
|
prerelease: false
|
79
81
|
requirement: &id005 !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
80
83
|
requirements:
|
81
84
|
- - ">="
|
82
85
|
- !ruby/object:Gem::Version
|
@@ -142,6 +145,7 @@ rdoc_options:
|
|
142
145
|
require_paths:
|
143
146
|
- lib
|
144
147
|
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
145
149
|
requirements:
|
146
150
|
- - ">="
|
147
151
|
- !ruby/object:Gem::Version
|
@@ -149,19 +153,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
153
|
- 0
|
150
154
|
version: "0"
|
151
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
152
157
|
requirements:
|
153
|
-
- - "
|
158
|
+
- - ">="
|
154
159
|
- !ruby/object:Gem::Version
|
155
160
|
segments:
|
156
|
-
-
|
157
|
-
|
158
|
-
- 1
|
159
|
-
version: 1.3.1
|
161
|
+
- 0
|
162
|
+
version: "0"
|
160
163
|
requirements:
|
161
164
|
- Microsoft Windows
|
162
165
|
- Internet Explorer
|
163
166
|
rubyforge_project:
|
164
|
-
rubygems_version: 1.3.
|
167
|
+
rubygems_version: 1.3.7
|
165
168
|
signing_key:
|
166
169
|
specification_version: 3
|
167
170
|
summary: Library for automating the Internet Explorer browser in Ruby
|