Я открываю платежную форму в окне, и каждый раз Даск пытается найти элементы ввода на экране. Я пытался добавить pause(3), но это ничего не дало.
Я использую laravel 5.5 и Dusk 2.0.
$browser->waitFor('.stripe-card iframe', 30);
// Lets make the switch to iframe
$browser->driver
->switchTo()
->frame('__privateStripeFrame5');
$browser->type('cardnumber', '4242424242424242')
->type('exp-date', '12 50')
->type('cvc', '123');
Я пытался:
->pause(3000) до type('cardnumber'), но ничего не сделал->keys('input[name=cardnumber]', '4242424242424242'), но ничего не сделалОшибка, которую мне дают
Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"body textar ea[name='cardnumber']"}
При использовании keys() я получаю: Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"body input[name=cardnumber]"}
Facebook\WebDriver\Exception\NoSuchElementException: такого элемента нет: невозможно найти элемент: {"method":"css selector","selector":"body textar ea[name='cardnumber']"}
Что показывает скриншот в tests/Browser/screenshots?
Я не вижу iframe на скриншоте
Я добавил ->pause(3000) - iframe появился и все та же проблема






Я бы порекомендовал всем в подобном положении обновить Laravel до 5.7 и Dusk до 5.0.
В Dusk появился новый метод под названием withinFrame(), который упрощает написание тестов и делает их более понятными:
https://github.com/laravel/dusk/commit/8bfb9f01ae09d1d9ca3ce53e36b1f020c0f8dc8f
Что за сообщение об ошибке?