File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -94,6 +94,23 @@ def main?
94
94
@parent_id . nil?
95
95
end
96
96
97
+ #
98
+ # Returns the parent frame if this frame is nested in another one.
99
+ #
100
+ # @return [Frame, nil]
101
+ #
102
+ # @example
103
+ # browser.go_to("https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe")
104
+ # frame = browser.frames.last
105
+ # frame.url # => "https://www.openstreetmap.org/export/embed.html?bbox=-0.004017949104309083%2C51.47612752641776%2C0.00030577182769775396%2C51.478569861898606&layer=mapnik"
106
+ # frame.parent.main? # => false
107
+ # frame.parent.parent.main? # => false
108
+ # frame.parent.parent.parent.main? # => true
109
+ #
110
+ def parent
111
+ @page . frame_by ( id : @parent_id ) if @parent_id
112
+ end
113
+
97
114
#
98
115
# Sets a content of a given frame.
99
116
#
Original file line number Diff line number Diff line change 43
43
expect ( opened_page . main_frame . url ) . to end_with ( "/frames" )
44
44
end
45
45
46
+ it "finds parent frame properly" do
47
+ page . go_to ( "/frames" )
48
+ parent_frame = page . at_xpath ( "//iframe" ) . frame . parent
49
+ expect ( parent_frame . url ) . to end_with ( "/frames" )
50
+ end
51
+
46
52
it "waits for the frame to load" do
47
53
page . go_to
48
54
page . execute <<-JS
You can’t perform that action at this time.
0 commit comments