2013-04-16 34 views
15

以下处理iframe是HTML代码..与水豚红宝石

<iframe id="I0_1366100881331" frameborder="0" width="100%"> 
<div class="ZRa"> 
<span id="button" class="hAa Qo Bg" tabindex="0" role="button" title="" aria-  label="Click here to publicly +1 this." aria-pressed="false"> 
</div> 
</iframe>  

在上述情况下,我想切换到IFRAME(IFRAME ID =“I0_1366100881331”)来执行关于本SPAN一些动作在那个IFRAME中。我曾尝试与大多数的情况,但没有任何结果:(......任何一个请帮助

我只使用水豚红宝石想要黄瓜解..

注:我试着用下面的代码,但没有。结果

page.driver.browser.switch_to.frame “I0_1366100881331”

+0

可能重复:http://stackoverflow.com/questions/11909149/how-can-i-switch-between-two-frames-with-capybara –

回答

11

我想你可以尝试使用方法:

within_frame 'id' do 
    <code for dealing with iframe entries> 
end 
+1

'身份证'不是静态的。它每次都在改变(页面刷新),然后我们如何使用'id'来处理iframe。你能建议吗? –

+0

旧帖子,但您必须能够以某种方式获得框架的ID,因为您在上面发布了示例代码。 – Hannele

25
within_frame(find('<css rule>')) do 
    <code for dealing with iframe entries> 
end 
+0

这对我很好,因为它使用'查找'水豚将等待框架出现在页面上,如果有必要。 – user01380121

0

能有这样的代码:

withinframe((:xpath,"//div")) do 
#code 
end 
+0

请解释你的代码 – quinz