最近我在Selenium IDE中使用命令"selectFrame> relative=up"在嵌套帧之间切换。由于我决定用Selenium和Ruby重写所有代码,因此我找不到上述语言的命令模拟。
我无法按名称选择帧,因为任何重新加载后它都不同。其他帧属性包括:
iframe id="ext-comp-1465" name="ext-comp-1465" frameborder="0" src="/5005700001V96Ub/e?retURL=%2F5005700001V96Ub&isdtp=vw&cancelURL=%2F5005700001V96Ub&nonce=a37ade0829c6d08539a765cd370dff0766cd596851439e853d68a60e9d7c28d0&sfdcIFrameOrigin=https%3A%2F%2F*************.com" class=" x-border-panel" style="left: 0px; top: 0px; width: 329px; height: 641px;"></iframe
请告知我如何使用"relative=up"选项或其他帧属性访问此帧。提前谢谢。
尝试以下操作,
driver.switch_to.frame "ext-comp-1465"
或
driver.switch_to.frame driver.find_element(id: 'ext-comp-1465')
或
driver.switch_to.frame driver.find_element(name: 'ext-comp-1465')
或
driver.switch_to.frame driver.find_element(xpath: '//iframe[starts-with(@id,"ext-comp-"] ')
最终解决方案:
frames = @driver.find_elements(:xpath, '//iframe[starts-with(@id,ext-comp-)]')
@driver.switch_to.frame frames[1]