Я хочу выбрать вложенный iframe в iframe с модулем selenium webdriver в node-js.Выбор вложенного iframe - selenium/javascript/node-js
Например:
<iframe id="firstframe">
<div id="firstdiv"></div>
<iframe id="secondframe">
<div id="seconddiv"></div>
</iframe>
</iframe>
для узла-Js части:
driver.switchTo().defaultContent();
driver.switchTo().frame("firstframe"); // --> works
driver.switchTo().frame("secondframe"); // --> NoSuchFrameError
iframes = driver.findElements(webdriver.By.tagName('iframe')).then(function(elements){
console.log(elements.length); // --> if I put this code before the switch to first frame output: 1, if I put it after output: 0)
});
Я попытался с помощью номера индекса, но это также не удалось.
Edit:
Хорошо, я понял это, но мой ответ был удален пользователем @casparOne по какой-то причине. Если кто-то еще задается вопросом, в чем проблема:
Мой код выше работает, а не локально. Настройки безопасности Chrome отказываются идти глубже в iframe в локальном файле. Следовательно, он даже не показывал исходный код для iframe.
Перед тем, как переключиться на 'secondframe', попробуйте вернуться к содержимому по умолчанию. –
Получение «NoSuchFrameError». –