Снова всплыл старый вопрос про iframe

addewyd@

Member
Есть страница с куче ифреймов. Как достучаться до элемента внутри ифрейма? В селениуме есть способ - switchTo().frame(index)
В pix не нашёл способа.
 

Анатолий Халак

Administrator
Команда форума
Добрый день.

Для Google Chrome и Mozilla Firefox в PIX есть расширения которые позволяют работать с iframe браузера.

1.png

2.png
 

addewyd@

Member
Естественно, они установлены.
Но переключиться в ифрейм не удаётся.

<!DOCTYPE html>
<html>
<iframe src="http://lib.ru" style="border:0px"></iframe>
</html>

1601878241790.png

в ифрейме ничего не находит

1601878607504.png

А вот такй код js

const {Builder, By} = require('selenium-webdriver');

async function main() {
let driver = await new Builder().forBrowser('chrome').build();
try {
await driver.get('file://C:/wprt/pixtry/iframe/index.html');
let el = await driver.findElements(By.tagName('iframe'));
console.log(JSON.stringify(el))
await driver.switchTo().frame(0)
let inputs = await driver.findElements(By.xpath('/html/body/pre/center[1]/form/font/input[1]'));
await inputs[0].sendKeys('XXX')
await inputs[1].click()

} finally {
// await driver.quit();
}
}

без проблем.

1601878907437.png
 

Анатолий Халак

Administrator
Команда форума
Активность "Впечатать значение в веб-элемент" производит поиск по всем фреймам внутри страницы и возвращает первый найденный элемент. Попробуйте увеличить таймаут ожидания.
 
Последнее редактирование:

addewyd@

Member
не работает таймаут. сколько ни поставишь, хоть 10 минут, через 5-10 сек "время ожидания истекло"

1601950014823.png
Файлы прилагаются.

версия pix 1.15.0.0

Если сомневаетесь в правильности xpath, в предыдущем сообщении есть картинки и примеры.

По имени элемента ситуация та же

1601953138526.png
 
Последнее редактирование:

Анатолий Халак

Administrator
Команда форума
Воспроизвели данную активность на версии PIX 1.15.0.0 с идентичными вводными данными
333.png

Возможно следует проверить настройки браузера, в "Управление расширениями" должен быть активирован пункт "Разрешить открывать локальные файлы по ссылкам"
444.png
555.png
 
Верх