Перейти к основному содержимому

переключить фрейм

Переключает активный контекст на фрейм, например, на iframe на странице. Существует несколько способов запроса фрейма на странице:

  • Если задана строка, он переключается на фрейм с соответствующим идентификатором контекста, URL или URL, содержащим эту строку

    // переключиться на фрейм, который имеет определенный URL или содержит строку в URL
    await browser.url('https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe')
    // Примечание: этот фрейм находится во вложенном iframe, однако вам нужно только указать
    // URL фрейма вашего желаемого фрейма
    await browser.switchFrame('https://www.w3schools.com')
    // проверить заголовок страницы
    console.log(await browser.execute(() => [document.title, document.URL]))
    // выводит: [ 'W3Schools Online Web Tutorials', 'https://www.w3schools.com/' ]
  • Если у вас есть идентификатор контекста фрейма, вы можете использовать его напрямую

    // переключиться на фрейм, который имеет определенный идентификатор контекста
    await browser.switchFrame('A5734774C41F8C91D483BDD4022B2EF3')
  • Если задан элемент WebdriverIO, который ссылается на элемент iframe, он переключится на этот фрейм

    // переключиться на элемент фрейма, запрошенный из текущего контекста
    await browser.switchFrame($('iframe'))
  • Если задана функция, она будет перебирать все iframe на странице и вызывать функцию в рамках объекта контекста. Функция должна возвращать логическое значение, указывающее, должен ли быть выбран фрейм. Функция будет выполняться в браузере и позволяет получить доступ ко всем веб-API, например:

    // переключиться на первый фрейм, который содержит элемент с id "#frameContent"
    await browser.switchFrame(() => Boolean(document.querySelector('#frameContent')))
    // переключиться на первый фрейм, который содержит "webdriver" в URL
    await browser.switchFrame(() => document.URL.includes('webdriver'))
  • Если задано значение null, он переключится на фрейм верхнего уровня

    // сначала переключиться во фрейм
    await browser.switchFrame($('iframe'))
    // выполнить больше автоматизации в этом фрейме, затем...

    // переключиться на фрейм верхнего уровня
    await browser.switchFrame(null)

После переключения на фрейм все последующие команды будут выполняться в контексте этого фрейма, включая переход на другие страницы.

Использование
browser.switchFrame(context)
Параметры
ИмяТипДетали
contextstring, object, function
Возвращает
  • <Promise<string>> returns: текущий активный идентификатор контекста

Welcome! How can I help?

WebdriverIO AI Copilot