本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
我对Jekyll和Ruby很陌生(但是,非常兴奋)。在不使用插件的情况下,我试图找到一种方法来过滤site.related_posts。例如,我正在阅读标题为Foo且类别为A、B的帖子。该站点总共包含3个帖子:Foo(类别:A、B)条形图(类别:A、C、D)动物园(类别:B、F)默认情况下,在Jekyll中我们这样做:{%forpostinsite.related_postslimit:5%}{%endfor%}但是,上面的代码返回所有(3)个帖子。一个帖子包含很多类别,所以类别应该是一个数组。如何修改代码并仅返回类别与当前帖子类别相交的类别?(在此示例中,我希望代码仅返回Foo和Zo
抱歉,我是Ruby的新手,但我正在尝试向我的模板添加一个liquid标签,我可以循环显示五个最流行标签的列表。出于某种原因,这个插件在我使用时只输出一个标签。这是我在mu插件中的内容:moduleJekyllclassPopularTags这是我在模板中输入的内容:{%popular_tags%} 最佳答案 也可以在没有插件的情况下执行此操作,这意味着它可以在GitHubPages上运行.我已经在myblog上做类似的事情(也没有插件),我在这里显示了一个标签列表,其中包含帖子数,按字母顺序排序。Thesourcecodeisher
下面是html代码..在上述场景中,我想切换到IFRAME(iframeid="I0_1366100881331")以对该IFRAME中存在的SPAN执行一些操作。我已经尝试过大多数情况,但没有结果:(...任何人都请帮忙。我想要只使用capybararuby的cucumber解决方案..注意:我尝试了以下代码但没有结果。page.driver.browser.switch_to.frame"I0_1366100881331" 最佳答案 within_frame(find(''))doend
我有一个使用onfocus事件的html应用程序。切换浏览器选项卡时,它工作得很好。现在,当我将该应用程序作为另一个html页面中的iframe加载时,它无法正常工作,因为在切换选项卡时iframe没有聚焦。如何从iframe访问onfocus事件无需修改顶层代码。iframe和加载iframe的页面不是同源的。if(!window.parent.frames.length){window.onfocus=function(){//dosmth};}else{//???} 最佳答案 您可以使用HTML5可见性API。它允许您检测用户
我尝试了一些不同的方法,但没有任何效果,基本上我需要从iframe获取当前位置/url,获取我想要的部分并将其返回到url中的哈希。我如何在javascript中执行此操作? 最佳答案 选择正确的iframe元素,拉出src属性,做你的事情,将src分配给window.location.hashvariframe=$('iframe');varsrc=iframe.attr('src');window.location.hash=src;编辑如果您想从iframe获取动态位置,您必须访问contentWindow属性:varifra
我想以编程方式检测我的网站是否在FacebookiFrame应用程序中,以便我可以显示特定的Facebook功能。否则,如果有人在没有Facebook的情况下访问网站。最好是FBML、C#或JS解决方案:)谢谢! 最佳答案 好吧,您始终可以使用基本的javascript检查页面是否被加框if(top===window){//pageisnotframed}此外,当用户首次点击您的Canvas页面时,Facebook平台会向您的回调URL发送一堆数据,无论是在正常的GET参数中还是在单个编码参数(取决于您的设置)中,您也可以检查这些数
我在iframe中有这段代码。$(document).ready(function(){$("body").append($("#ctap").html());});我想将#ctap的html附加到父正文。我该怎么做? 最佳答案 尝试在document.ready中执行以下代码parent.$("body").append($("#ctap").html()); 关于javascript-如何从iframe将元素附加到父主体?,我们在StackOverflow上找到一个类似的问题:
是否有一种简单的方法来加载将在TinyMCEiframe中运行的外部javascript?我唯一找到的(这可能是答案)是:http://www.tinymce.com/wiki.php/API3:class.tinymce.dom.ScriptLoader但我不确定如何正确加载它或者它是否有效。我试图在tinymce.init指令之前和之后加载它,甚至在它内部,但似乎没有任何效果。只是想知道如何初始化“ScriptLoader”函数。 最佳答案 您可以使用setup初始化配置参数来使用脚本加载器tinyMCE.init({...se
我在使用MagnificPopup时遇到问题,我需要能够使用javascript函数在iframe上设置高度和宽度。以下代码对我输入的高度和宽度没有反应,怎么了?///Call////openmagnificPopup(url,h,w);///Java////functionopenmagnificPopup(url,h,w){$.magnificPopup.open({items:{src:url,type:'iframe',iframe:{markup:''+''+'xxxxxx'+''+''}}});/////CSS/////.mfp-iframe-holder.mfp-cont