xautobrowse 0.1.1 → 0.1.2
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 +4 -4
- checksums.yaml.gz.sig +1 -3
- data/lib/xautobrowse.rb +72 -40
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d319574fa5c3501f869e6e6300e82b581d70b9ed
|
4
|
+
data.tar.gz: 764e5db815a9c363ef05e97455470a5883d474be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27f65ee6a3b0b7e5702300b6436de310fbf4adf349cd31e48cd54647f04d9dcb52624cbe4bd2fdee4ab5dbcba84ecc843be38305ec2ee37a5980ee8a9dab01fa
|
7
|
+
data.tar.gz: ab1c53b6f81d33bdf14189a3115ff577b5cd828e6ebf7b3c04d422f19cfe18f5139ccb59df5a46338a41f64ca6007ab0155549345196613b2b842f390c83e869
|
checksums.yaml.gz.sig
CHANGED
@@ -1,3 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
���R��������?E�2^R�[��'�+��ߚ�ZN���?G��~��#���H�BrYNћJ�fB��@�]���u�t4Q��ŮG���e3�i�E"K���4�z�ص]�m����3W�D5���ס��9�<rQ���cNt��D>�� �H����v�0�μ,�փ�^��������:��ׯ�ʯ�+�)rdF���x�c`��NY������WԤp��Z��-[y��
|
1
|
+
�C�'�M+������|%4c��3dڽ9� �j���T6h�$t@�-�5�^�H�t��Z$Y������i�h�O>pR�m^���;�4���ȣM���yL"cqV�R�{;�����ޟn�.��OW��
|
data/lib/xautobrowse.rb
CHANGED
@@ -8,7 +8,8 @@
|
|
8
8
|
|
9
9
|
# modifications
|
10
10
|
|
11
|
-
# 28 Jan 2018: feature: Chromium is now supported
|
11
|
+
# 28 Jan 2018: feature: Chromium is now supported.
|
12
|
+
# A custom accesskey can now be used to jump to an element.
|
12
13
|
|
13
14
|
|
14
15
|
require 'wmctrl'
|
@@ -27,8 +28,7 @@ class XAutoBrowse
|
|
27
28
|
@browser, @debug = browser, debug
|
28
29
|
|
29
30
|
@wm = WMCtrl.instance
|
30
|
-
spawn(browser.to_s)
|
31
|
-
sleep 5
|
31
|
+
spawn(browser.to_s); sleep 5
|
32
32
|
|
33
33
|
id = XDo::XWindow.wait_for_window(browser)
|
34
34
|
xwin = XDo::XWindow.new(id)
|
@@ -45,6 +45,15 @@ class XAutoBrowse
|
|
45
45
|
@x, @y, @width, @height = *r[:geometry]
|
46
46
|
|
47
47
|
end
|
48
|
+
|
49
|
+
# custom accesskey (e.g. CTRL+SHIFT+S) typically used to reference an
|
50
|
+
# element on the web page
|
51
|
+
#
|
52
|
+
def accesskey(key)
|
53
|
+
XDo::Keyboard.send key.to_sym
|
54
|
+
end
|
55
|
+
|
56
|
+
alias access_key accesskey
|
48
57
|
|
49
58
|
def activate()
|
50
59
|
@wm.action_window(@id, :activate)
|
@@ -52,35 +61,52 @@ class XAutoBrowse
|
|
52
61
|
|
53
62
|
def copy_source()
|
54
63
|
|
55
|
-
view_source()
|
56
|
-
|
57
|
-
XDo::Keyboard.ctrl_a # select all
|
64
|
+
view_source(); sleep 3
|
65
|
+
ctrl_a() # select all
|
58
66
|
sleep 1
|
59
|
-
|
67
|
+
ctrl_c() # copy the source code to the clipboard
|
60
68
|
|
61
69
|
end
|
62
70
|
|
71
|
+
# select all
|
72
|
+
#
|
73
|
+
def ctrl_a() XDo::Keyboard.ctrl_a end
|
74
|
+
|
75
|
+
# copy
|
76
|
+
#
|
77
|
+
def ctrl_c() XDo::Keyboard.ctrl_c end
|
78
|
+
|
79
|
+
# jump to the location bar
|
80
|
+
#
|
81
|
+
def ctrl_l() XDo::Keyboard.ctrl_l end
|
82
|
+
|
83
|
+
# view source code
|
84
|
+
#
|
85
|
+
def ctrl_u() XDo::Keyboard.ctrl_u end
|
86
|
+
|
87
|
+
# developer tools
|
88
|
+
#
|
89
|
+
def ctrl_shift_i() XDo::Keyboard.ctrl_shift_i end
|
90
|
+
|
91
|
+
# submit a form by pressing return
|
92
|
+
#
|
63
93
|
def go()
|
64
94
|
|
65
|
-
activate()
|
66
|
-
sleep 2
|
67
|
-
|
68
95
|
if block_given? then
|
69
|
-
|
96
|
+
|
97
|
+
activate(); sleep 2
|
98
|
+
yield(self)
|
99
|
+
carriage_return()
|
100
|
+
|
70
101
|
end
|
71
102
|
|
72
|
-
XDo::Keyboard.return
|
73
|
-
|
74
103
|
end
|
75
104
|
|
76
105
|
def goto(url)
|
77
106
|
|
78
|
-
|
79
|
-
sleep 0.5
|
80
|
-
|
81
|
-
sleep 0.5
|
82
|
-
enter(url)
|
83
|
-
sleep 4
|
107
|
+
activate(); sleep 0.5
|
108
|
+
ctrl_l(); sleep 0.5
|
109
|
+
enter(url); sleep 4
|
84
110
|
|
85
111
|
end
|
86
112
|
|
@@ -94,10 +120,20 @@ class XAutoBrowse
|
|
94
120
|
@wm.action_window(@id, :move_resize, 0, @x, @y, @width, @height)
|
95
121
|
end
|
96
122
|
|
123
|
+
def carriage_return()
|
124
|
+
XDo::Keyboard.return
|
125
|
+
end
|
126
|
+
|
127
|
+
alias cr carriage_return
|
128
|
+
|
129
|
+
def tab(n=1)
|
130
|
+
XDo::Keyboard.simulate("{TAB}" * n)
|
131
|
+
end
|
132
|
+
|
97
133
|
def text_field(klass: nil, id: nil, name: nil, value: '')
|
98
134
|
|
99
135
|
console = @browser == :firefox ? :ctrl_shift_k : :ctrl_shift_i
|
100
|
-
|
136
|
+
method(console).call # web console
|
101
137
|
|
102
138
|
sleep 3
|
103
139
|
|
@@ -109,37 +145,33 @@ class XAutoBrowse
|
|
109
145
|
|
110
146
|
[cmd, "r.value = \"\"", "r.focus()"].each {|x| enter x}
|
111
147
|
|
112
|
-
|
113
|
-
sleep 2
|
114
|
-
XDo::Keyboard.type(value)
|
148
|
+
ctrl_shift_i() # toggle tools
|
115
149
|
sleep 2
|
150
|
+
type(value); sleep 1
|
116
151
|
|
117
152
|
end
|
118
153
|
|
119
154
|
def to_doc()
|
120
|
-
copy_source()
|
121
|
-
sleep 0.5
|
155
|
+
copy_source(); sleep 0.5
|
122
156
|
Nokorexi.new(Clipboard.paste).to_doc
|
123
157
|
end
|
124
158
|
|
159
|
+
def type(s)
|
160
|
+
XDo::Keyboard.type(s)
|
161
|
+
end
|
162
|
+
|
125
163
|
def view_source()
|
126
164
|
|
127
|
-
|
128
|
-
|
129
|
-
XDo::Keyboard.ctrl_l # jump to the location bar
|
165
|
+
activate(); sleep 0.5
|
166
|
+
ctrl_l() # jump to the location bar
|
130
167
|
sleep 0.6
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
end
|
135
|
-
|
136
|
-
private
|
168
|
+
tab(2); sleep 0.5
|
169
|
+
ctrl_u() # View source code
|
170
|
+
|
171
|
+
end
|
137
172
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
XDo::Keyboard.return
|
142
|
-
sleep 1
|
143
|
-
end
|
173
|
+
# input some text
|
174
|
+
#
|
175
|
+
def enter(s) type(s); sleep 0.8; carriage_return(); sleep 1 end
|
144
176
|
|
145
177
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|