[英]How to click on a link in an iFrame in selenium IDE
您好Stackoverflow社区,
我正在使用Selenium IDE,但遇到以下问题:我必须将Web内容管理系统中的Web内容从一个文件夹移动到另一个文件夹。 因此,我必须单击“选择”按钮以指定目标文件夹,然后打开iframe,在其中可以浏览文件夹的“树结构”。
原始页面如下所示:
带有“选择”按钮的原始页面
-Test(=Parent Folder):
-UniqueTitle
-UniqueTitle2
因为我要处理的文件夹(UniqueTitle2)位于当前文件夹下的一个层次结构中(我在UniqueTitle中),所以我必须单击父文件夹“ TEST”以返回一个层次结构。 这是“ TEST”文件夹的链接。
iframe,您可以在其中选择目标文件夹
问题是,在iframe下方的原始页面上,存在与“测试”文件夹相同的链接作为面包屑。 因此,如果硒单击href链接,则实际上单击原始页面上的链接,而不是iframe中的链接。
我尝试了以下操作:选择iframe:
storeAttribute|css=iframe.dialog-iframe-node@id|iframeIDE
selectFrame|id=${iframeID}
单击链接:
clickAndWait|link=TEST
clickAndWait|//a[contains(@href,'https://www.companyname.com/language/projectname/manage/maintenance/web-content-management[...]folderid=465576')]
这是iframe的HTML代码段:
<a href="https://www.companyname.com/language/projectname/manage/maintenance/web-content-management?p_p_id=15&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view&_15_struts_action=%2Fjournal%2Fselect_folder&_15_folderId=4655761" data-direction-right="true" data-folder-id="4655761">TEST</a>
如何区分这两者,所以我的脚本会在iframe中单击?
预先谢谢您,如果需要更多信息,请告诉我。
您有两种选择:
使用这种方法,您必须将用于文件选择的代码移动到主页。 使用AJAX将文件列表填充到div。 这种方法通常称为单页应用程序,尽管您不需要将所有内容移动到单个页面,只需将文件选择代码移动到单个页面即可。
您应该阅读有关如何设置此HTTP标头的信息。 这是一些参考
可能与如何使用Java在Selenium WebDriver中的框架之间切换有关
您想在iframe中做某事的第一件事就是切换到它。
WebDriver.SwitchTo().Frame(WebDriver.FindElement(By.Id("iframe")));
之后,您可以单击元素。 当您想支持时,可以使用:
WebDriver.SwitchTo().DefaultContent();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.