等待 iframe 打开并使用 Selenium 加载
我有一个应用程序,用户单击按钮,触发 iFrame 打开。我在继续之前等待该框架打开负载时遇到了真正的麻烦。
我无法使用:
wait_for_page_to_load
因为加载的不是页面,而是 iframe。
我无法使用:
select_frame
因为框架尚未加载,
我留下了如此丑陋的东西
sleep(3)
所以在我可以选择框架并断言有关它的内容之前,
。关于如何正确执行此操作有什么建议吗?我不想使用 lib 特定的 JS,因为我正在提取 Selenium DSL 以在多个项目中使用。另外,我正在使用 selenium-client,所以任何基于 ruby 的东西都会是一个优点。
干杯,
广告。
编辑:我似乎无法使用:
wait_for_frame_to_load
要么超时。
I have an app in which the user clicks a button, triggering an iFrame to open. I'm having real trouble waiting for this frame to open an load before continuing.
I can't use:
wait_for_page_to_load
because the it's not the page that loads, it's the iframe.
I can't use:
select_frame
because the frame hasn't loaded yet
so I'm left with the ever so ugly
sleep(3)
before I can select the frame and assert something about it.
Any suggestions on how to do this properly? I don't want to use lib specific JS as I am extracting a Selenium DSL for use across multiple projects. Also, I'm using selenium-client so anything ruby based would be a plus.
Cheers,
Ad.
edit: I can't seem to use:
wait_for_frame_to_load
either, it times out.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不确定这是否有效,因为 Iframe 与普通框架在单独的沙箱中运行,因为您可以进行跨站点页面调用,并且它们可能有自己的 JavaScript,您将无法与之交互。
如果您在 *chrome 或 *iehta 中运行测试,但目前没有任何东西可以测试,它可能可以工作
Not sure if this will work because Iframes run in a separate sandbox to normal frames because you can do cross site page calls and they may have their own JavaScript which you wont be able to interact with.
it may work if you run your tests in *chrome or *iehta but don't have anything at the moment to test with