Таким образом, у меня возникла проблема, когда я пытаюсь ввести текст в поле ввода, но я понял, что есть два одинаковых идентификатора с одинаковым именем идентификатора, и я здесь ищу справку о том, как указать, какой div -> вход, который я хотел бы использовать.
То, что я до сих пор делал, было:
it('Entering First Name', function (done) {
browser.driver
.then(() => browser.wait(EC.visibilityOf(element(by.xpath('//input[@id="pp-cc-first-name-field"]'))), 50000, "Timed out finding 'First Name' element"))
.then(() => element(by.xpath('//input[@id="pp-cc-first-name-field"]')).sendKeys("hello world")
.then(() => done());
});
с использованием этого HTML
Так что я не уверен, что я на самом деле делаю неправильно в этом случае, потому что сейчас он ничего не вводит и дает сбой из-за истечения времени ожидания. Я хотел бы wi sh для ввода любого текста в этот элемент c.
РЕДАКТИРОВАТЬ!
Похоже, мне пришлось переключиться на iframe из-за загруженного iframe на фоне, который был причиной, по которой я не смог написать на поле. Я должен был использовать
browser.switchTo().frame(element(by.xpath("//iframe[@id='cc-integrated-payment-page-frame']")).getWebElement()))
, чтобы иметь возможность писать внутри полей.