как удалить добавленный элемент в форму в кукловоде - PullRequest
0 голосов
/ 22 октября 2018

У меня проблема с кукловодом.Я хочу удалить добавленный элемент в форму.Например, у меня есть форма и добавлены некоторые поддельные данные ( «пример» ).Я хочу удалить этот «пример», не имеет значения, в какой позиции он находится.Я просто хочу удалить этот «пример».

Таким образом, это означает, что кукловод добавляет его и удалит на следующем шаге.

Я пробовал:

// fake data
const metadatatest = {
text: 'example,
}


describe('Should be navigate through details', () => {
it('can navigate through detail', async () => {

// this adds fake data successfully

await page.waitForSelector('[data-testid="appCard"]')
await page.click('[data-testid="appCardDetails"]')
await page.waitForSelector('[data-testid="overviewSectionMetadataForm"]')
await page.click('[data-testid="overviewSectionMetadataEditButton"]')
//await page.$eval('[data-testid="metadataInput"]', el => el.value = 'example')
await page.type('[data-testid="metadataInput"]', metadatatest.text)
await page.waitForSelector('[data-testid="metadataInput"]')
await Promise.all([
  page.click('[data-testid="overviewSectionMetadataEditButton"]'),
]);

// I want to delete this

})
})

Я также пытался использовать

await page.keyboard.press('Backspace')
await page.keyboard.press('Clear')
await page.keyboard.press('Delete')

, но не повезло.

любая помощь, пожалуйста!

1 Ответ

0 голосов
/ 22 октября 2018

Итак, вы спрашиваете об удалении текста из поля ввода, я правильно читаю?У Puppeteer нет встроенного метода для этого, но я нашел обходной путь, который сделает это за вас.

Во-первых, вам нужно нажать 3 раза на поле ввода, которое вы хотите очистить.Это действует как выбор всех действий для всего текста, введенного в этот элемент:

await page.click(selector, { clickCount: 3 });

Теперь вы можете использовать предыдущую попытку очистки текста:

await page.keyboard.press('Backspace');

Обновление 1:
Ваш окончательный код для очистки и последующего ввода нужного текста в поле ввода должен выглядеть примерно так:

await page.click('[data-testid="metadataInput"]', { clickCount: 3 });
await page.keyboard.press('Backspace');
await page.type('[data-testid="metadataInput"]', metadatatest.text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...