xautobrowse 0.2.6 → 0.3.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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data/lib/xautobrowse.rb +50 -26
- data.tar.gz.sig +0 -0
- metadata +8 -28
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e71119d67c1f7a76df4466079409be87b0980aeb6473324696bd872e9b59f37e
|
4
|
+
data.tar.gz: 147b61fc5cfc2957542998d6b9e6ac4a8656f831791ad363ce3b9d2bb9c9d87d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcd0cc0b066699e3f239d79a990ffab514808327d29c176370ebfce542ea19814b72050691356cdb9fe503e3643f13cfa171a394fa0e132d86333df9c7315ce8
|
7
|
+
data.tar.gz: 573e981566daa1390c90f082dc16f00b022bc24add6f2ab26cb39431431e76b188cc5466c279453b5bd8c4bd1edaea9347d7241f536596d014d017bd4944d207
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/xautobrowse.rb
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
# revision log:
|
11
11
|
|
12
|
+
# 4 Sep 2018: feature: Tabs can now be traversed using the XTabbedWindow gem
|
12
13
|
# 23 Jun 2018: feature: A new Window can now be created which attaches itself
|
13
14
|
# to the most recent application window created
|
14
15
|
# 12 Feb 2018: bug fix: Implemented the missing method ctrl_shift_k() used
|
@@ -32,12 +33,12 @@
|
|
32
33
|
# Then paste the code to a new notepad document for inspection.
|
33
34
|
|
34
35
|
|
35
|
-
require 'wmctrl'
|
36
|
+
#require 'wmctrl'
|
36
37
|
require 'nokorexi'
|
37
38
|
require 'clipboard'
|
38
|
-
require 'xdo/mouse'
|
39
|
-
require 'xdo/keyboard'
|
40
|
-
require 'xdo/xwindow'
|
39
|
+
#require 'xdo/mouse'
|
40
|
+
#require 'xdo/keyboard'
|
41
|
+
#require 'xdo/xwindow'
|
41
42
|
require 'sps-pub'
|
42
43
|
require 'universal_dom_remote'
|
43
44
|
|
@@ -55,26 +56,32 @@ class XAutoBrowse
|
|
55
56
|
|
56
57
|
end
|
57
58
|
|
58
|
-
class Window
|
59
|
+
class Window < XTabbedWindow
|
59
60
|
|
60
|
-
def initialize(browser=nil)
|
61
|
+
def initialize(browser=nil, new_win: true)
|
61
62
|
|
62
63
|
@wm = WMCtrl.instance
|
63
64
|
|
64
65
|
if browser then
|
65
|
-
spawn(browser.to_s); sleep 3
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
67
|
+
if new_win then
|
68
|
+
spawn(browser.to_s); sleep 3
|
69
|
+
|
70
|
+
id = XDo::XWindow.wait_for_window(browser.to_s)
|
71
|
+
|
72
|
+
xwin = XDo::XWindow.new(id)
|
73
|
+
title = xwin.title
|
74
|
+
puts 'title: ' + title.inspect if @debug
|
75
|
+
|
76
|
+
# WMCtrl is used because XDo is problematic at trying to activate a window
|
77
|
+
|
78
|
+
a = @wm.list_windows true
|
79
|
+
puts 'a: ' + a.inspect if @debug
|
80
|
+
r = a.reverse.find {|x| x[:title] =~ /#{browser}$/i}
|
81
|
+
else
|
82
|
+
super(browser)
|
83
|
+
r = @window
|
84
|
+
end
|
78
85
|
else
|
79
86
|
a = @wm.list_windows true
|
80
87
|
r = a.last
|
@@ -118,13 +125,15 @@ class XAutoBrowse
|
|
118
125
|
attr_accessor :actions
|
119
126
|
|
120
127
|
|
121
|
-
def initialize(browser= :firefox,
|
128
|
+
def initialize(browser= :firefox, new_window: true, debug: false,
|
129
|
+
sps: false, clicks: {})
|
122
130
|
|
123
131
|
@browser, @debug, @sps, @clicks = browser.to_sym, debug, sps, clicks
|
132
|
+
@new_window = new_window
|
124
133
|
|
125
|
-
@window = Window.new(browser
|
126
|
-
|
127
|
-
sleep
|
134
|
+
@window = Window.new(browser, new_win: new_window)
|
135
|
+
|
136
|
+
sleep 4 if new_window
|
128
137
|
|
129
138
|
connect() if sps
|
130
139
|
|
@@ -258,13 +267,20 @@ class XAutoBrowse
|
|
258
267
|
|
259
268
|
end
|
260
269
|
|
261
|
-
def goto(url, attachconsole: true)
|
270
|
+
def goto(url, attachconsole: true, new_tab: !@new_window)
|
262
271
|
|
263
|
-
|
264
|
-
|
272
|
+
new_tab() if new_tab
|
273
|
+
sleep 1; ctrl_l()
|
274
|
+
sleep 2 if @new_window
|
275
|
+
enter(url)
|
276
|
+
sleep 5 if @new_window
|
265
277
|
attach_console() if @sps and attachconsole
|
266
278
|
|
267
|
-
end
|
279
|
+
end
|
280
|
+
|
281
|
+
def goto_tab(s)
|
282
|
+
@window.goto_tab(s)
|
283
|
+
end
|
268
284
|
|
269
285
|
def carriage_return()
|
270
286
|
@window.activate(); sleep 1; XDo::Keyboard.return
|
@@ -292,6 +308,10 @@ class XAutoBrowse
|
|
292
308
|
@window = Window.new
|
293
309
|
end
|
294
310
|
|
311
|
+
def new_tab()
|
312
|
+
@window.new_tab
|
313
|
+
end
|
314
|
+
|
295
315
|
# Takes a screenshot of the web page. Images are stored in ~/Pictures
|
296
316
|
#
|
297
317
|
def screenshot(filename=Time.now\
|
@@ -353,6 +373,10 @@ class XAutoBrowse
|
|
353
373
|
@window.activate(); XDo::Keyboard.simulate("{TAB}" * n)
|
354
374
|
end
|
355
375
|
|
376
|
+
def tab?(s)
|
377
|
+
@window.tab?(s)
|
378
|
+
end
|
379
|
+
|
356
380
|
def text_field(klass: nil, id: nil, name: nil, value: '')
|
357
381
|
|
358
382
|
open_web_console() do |console|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xautobrowse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -30,48 +30,28 @@ cert_chain:
|
|
30
30
|
UkT65Cjj3pGfXSA+uRiXo7EXRM2Xft7NA1wuE91g2PYjRb8GvdqjxrgF1gp+LHtf
|
31
31
|
Gwk=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2018-
|
33
|
+
date: 2018-09-04 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: xtabbedwindow
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0.
|
42
|
-
- - ">="
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: 0.0.4
|
45
|
-
type: :runtime
|
46
|
-
prerelease: false
|
47
|
-
version_requirements: !ruby/object:Gem::Requirement
|
48
|
-
requirements:
|
49
|
-
- - "~>"
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version: '0.0'
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.0.4
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: ruby-wmctrl
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0.0'
|
41
|
+
version: '0.1'
|
62
42
|
- - ">="
|
63
43
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.
|
44
|
+
version: 0.1.1
|
65
45
|
type: :runtime
|
66
46
|
prerelease: false
|
67
47
|
version_requirements: !ruby/object:Gem::Requirement
|
68
48
|
requirements:
|
69
49
|
- - "~>"
|
70
50
|
- !ruby/object:Gem::Version
|
71
|
-
version: '0.
|
51
|
+
version: '0.1'
|
72
52
|
- - ">="
|
73
53
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
54
|
+
version: 0.1.1
|
75
55
|
- !ruby/object:Gem::Dependency
|
76
56
|
name: nokorexi
|
77
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
159
|
version: '0'
|
180
160
|
requirements: []
|
181
161
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.6
|
162
|
+
rubygems_version: 2.7.6
|
183
163
|
signing_key:
|
184
164
|
specification_version: 4
|
185
165
|
summary: A poor man's web automation tool primarily for Firefox in an X windows system.
|
metadata.gz.sig
CHANGED
Binary file
|