puppeeter, выбирающий опцию начальной загрузки - PullRequest
0 голосов
/ 14 декабря 2018

Я свободно признаю, что с кукловодом я борюсь.Я использую плагин bootstrap-select jquery для выполнения выпадающих меню.Вот пример одного из Jsfiddle http://jsfiddle.net/9xr5af00/ Я пробовал множество различных способов заставить jest - puppeteer щелкнуть по раскрывающемуся списку и щелкнуть по элементу в раскрывающемся списке.

(Не уверен, как поместить puppeteer вjsfiddle вместе с примером).
Кажется, что все примеры для кукловодов указывают на то, что мне нужно использовать HTML-тег val, однако при начальной загрузке используется только тег option.

Это один измногие вещи, которые я пробовал

await page.click('#client-picker')
let value = "A"
await page.select('#client-picker',value)

Однако, добавляя задержки, кажется, кукловод фактически не прокручивает список вниз.Что, я думаю, правильно, так как он просто пытается сделать выбор элемента.Как я могу заставить кукловода прокручивать список для записи?

1 Ответ

0 голосов
/ 16 декабря 2018

Создается элемент div, и вам нужно нажать кнопку с data-id="client-picker", выбрать родительский элемент и выбрать элемент li a, который соответствует значению.

await page.evaluate(() => {
  let value = "A"
  let clientPicker = document.querySelector('button[data-id="client-picker"]')
  clientPicker.click();
  let listOption = clientPicker.parentNode.querySelectorAll('li a')
  Array.from(listOption).find(item => item.textContent == value).click()
});
...