如何使用 watir 将焦点从 iframe 更改回主页?
How can I change the focus from an iframe back to main page using watir?
我有一个嵌套的 iframe,看起来像这样
<iframe class="first">
<button></button>
<iframe class="second">
<button></button>
</iframe>
</iframe>
我切换到第二个 iframe 以处理该 iframe 中的元素,现在我想返回并处理第一个 iframe 中的元素。但是出于某种原因我无法使用 watir 退出 iframe...
我试过使用 $b.frame(index: 0).locate
- 我收到 "unable to locate frame" 错误
我也试过$b.iframe(class: "first").locate
,但也没用
请帮忙!
Watir 为您处理浏览器上下文切换。您只需要在元素的定义中包含完整的 iframe 路径。
Watir 延迟加载所以这实际上并不定位它们,只是存储它们的位置信息
b1 = browser.iframe(class: 'first').button
b2 = browser.iframe(class: 'first').iframe(class: 'second').button
要单击第二个按钮,Watir 会自动切换到第一帧上下文,然后是第二帧上下文,然后单击该按钮
b2.click
Watir 将在任何浏览上下文之间自动切换,无需明确指定:
b1.click
b2.click
b1.click
您不需要显式更改上下文,只需与您需要使用的下一个元素交互,但其中任何一个都会让您返回顶级浏览上下文:
browser.exist?
browser.iframe.exist?
我有一个嵌套的 iframe,看起来像这样
<iframe class="first">
<button></button>
<iframe class="second">
<button></button>
</iframe>
</iframe>
我切换到第二个 iframe 以处理该 iframe 中的元素,现在我想返回并处理第一个 iframe 中的元素。但是出于某种原因我无法使用 watir 退出 iframe...
我试过使用 $b.frame(index: 0).locate
- 我收到 "unable to locate frame" 错误
我也试过$b.iframe(class: "first").locate
,但也没用
请帮忙!
Watir 为您处理浏览器上下文切换。您只需要在元素的定义中包含完整的 iframe 路径。
Watir 延迟加载所以这实际上并不定位它们,只是存储它们的位置信息
b1 = browser.iframe(class: 'first').button
b2 = browser.iframe(class: 'first').iframe(class: 'second').button
要单击第二个按钮,Watir 会自动切换到第一帧上下文,然后是第二帧上下文,然后单击该按钮
b2.click
Watir 将在任何浏览上下文之间自动切换,无需明确指定:
b1.click
b2.click
b1.click
您不需要显式更改上下文,只需与您需要使用的下一个元素交互,但其中任何一个都会让您返回顶级浏览上下文:
browser.exist?
browser.iframe.exist?