使用机器人框架在没有iframe id的情况下查找iframe内的元素

时间:2016-02-05 19:42:36

标签: iframe robotframework

HTML看起来像这样

<iframe src="/apex/cscfga__ConfigureProduct?linkedId=a0W8E000000Lpa5UAC&amp;configId=a0Z8E000000NBGMUA4&amp;retURL=/a0W8E000000Lpa5UAC&amp;isdtp=vw" width="100%" height="100%" onload="hideLoading()" frameborder="0" style="height: 737px;"></iframe>

选择框架在没有id的情况下无效。我的机器人脚本应该如何识别这个iframe(没有id)?

我的脚本看起来像

${Iframe}=  Execute Javascript  
window.document.getElementsByTagName('iframe')[2]
log ${Iframe}   

但它返回'无'

请建议如何识别此iframe。

1 个答案:

答案 0 :(得分:5)

Select Frame适用于任何类型的定位器。例如,如果它是页面上唯一的iframe,您可以执行此操作:

select frame    xpath=//iframe

如果页面上有多个iframe,您需要尝试查找唯一可识别的祖先,然后查找相对于此的帧。

例如,给出以下html:

<div class="spreadsheet_container">
    <div>
         <iframe ...>

...您可以使用xpath,如下所示:

select frame    xpath=//div[@class='spreadsheet_container']/div/iframe