0

最近我在Selenium IDE中使用了命令「selectFrame> relative = up」來在嵌套框架之間切換。因爲我決定重寫Selenium和Ruby中的所有代碼,所以我找不到提及的語言的這個命令模擬。通過Selenium和Ruby中的「relative = up」訪問框架

我無法通過名稱選擇框架,因爲它在任何重新加載後都不同。其他框架屬性如下:

iframe id="ext-comp-1465" name="ext-comp-1465" frameborder="0" src="/5005700001V96Ub/e?retURL=%2F5005700001V96Ub&amp;isdtp=vw&amp;cancelURL=%2F5005700001V96Ub&amp;nonce=a37ade0829c6d08539a765cd370dff0766cd596851439e853d68a60e9d7c28d0&amp;sfdcIFrameOrigin=https%3A%2F%2F*************.com" class=" x-border-panel" style="left: 0px; top: 0px; width: 329px; height: 641px;"></iframe 

請告訴我如何使用「相對=向上」選項或其他框架屬性到達此框架。提前致謝。

回答

0

嘗試以下,

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-"] ') 
+0

謝謝,但框架名稱和ID是不同的,我重新加載頁面 - ext-comp-1087或ext-comp-1055 e.t.c.我需要另一個解決方案 – Nikita

+0

然後嘗試使用xpath,如// iframe [starts-with(@id,「ext-comp-」] driver.switch_to.frame driver.find_element(xpath:'// iframe [starts-with(@id ,「ext-comp-」]')。更新回答部分。 – Murthi

+0

謝謝,Murthi,這個爲我工作。 – Nikita

0

最終解決方案:

frames = @driver.find_elements(:xpath, '//iframe[starts-with(@id,ext-comp-)]') 
@driver.switch_to.frame frames[1]