如何模拟鼠标单击/击键以选择Puppeteer中每页多少个列表?

时间:2018-10-28 00:23:39

标签: javascript node.js google-chrome-devtools puppeteer headless-browser

我很难模拟鼠标单击/击键来选择page.goto()之后每页有多少个列表。这是per page选项的HTML源代码:

<label class="control-label pull-right" style="margin-right: 10px; font-weight: 100;">
    <small>Show</small>&nbsp;
    <select class="input-sm grid-per-pager" name="per-page">
        <option value="https://www.mysite-com/admin/order?per_page=10" >10</option>
        <option value="https://www.mysite-com/admin/order?per_page=20" selected>20</option>
        <option value="https://www.mysite-com/admin/order?per_page=30" >30</option>
        <option value="https://www.mysite-com/admin/order?per_page=50" >50</option>
        <option value="https://www.mysited-com/admin/order?per_page=100" >100</option>
    </select>
    &nbsp;<small>Piece</small>
</label>

默认值为每页20个列表,我想将其更改为每页100个列表,这需要鼠标单击该框并按下箭头键两次以选择100 。这是用于此目的的一些代码:

await page.mouse.click("label.control-label .grid-per-pager");
await page.keyboard.press("ArrowDown");
await page.keyboard.press("ArrowDown");

它给了我一些错误。这里缺少什么?

1 个答案:

答案 0 :(得分:1)

page.select()

在这种情况下,最好的使用方法是page.select()

此方法接受select元素的选择器作为第一个参数,接受value的{​​{1}}的选择器作为第二个参数:

option