我会自由地承认,我在伪装者中挣扎。我正在使用bootstrap-select jquery插件进行下拉菜单。这是一个Jsfiddle的示例 http://jsfiddle.net/9xr5af00/ 我尝试过多种开玩笑的方式-操纵up单击下拉菜单,然后单击下拉菜单上的元素。
(不确定如何将puppeteer连同示例放到jsfiddle中)。
puppeteer的所有示例似乎都表明我需要使用val html标记,但是bootstrap-select仅使用option标记。
这是我尝试过的许多事情之一
await page.click('#client-picker')
let value = "A"
await page.select('#client-picker',value)
但是,延迟似乎使操纵up的人实际上并没有向下滚动列表。我想这是正确的,因为它只是试图对元素进行选择。我该如何让操纵up滚动条目的列表?
答案 0 :(得分:1)
它会创建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()
});