javascript - 如何模拟鼠标单击/击键以选择 Puppeteer 中每页的列表数量?
问题描述
我很难模拟鼠标点击/击键来选择之后每页有多少个列表page.goto()
。以下是该per page
选项的 HTML 源代码:
<label class="control-label pull-right" style="margin-right: 10px; font-weight: 100;">
<small>Show</small>
<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>
<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");
它给了我一些错误。这里缺少什么?
解决方案
page.select()
在这种情况下使用的最佳方法是page.select()
.
此方法接受select
元素的选择器作为第一个参数,value
您option
要选择的元素作为第二个参数:
await page.select('select[name="per-page"]', 'https://www.mysited-com/admin/order?per_page=100');
推荐阅读
- angular - 在我开始输入之前字段变为红色
- sql - 在 SSRS 中使用带有动态数据的参数
- java - 在 Java Web 应用程序的 EJB 会话 bean 中生成唯一 ID
- node.js - Google Deployment Manager API - 在创建 VM 时动态更新 yaml 属性
- javascript - 如何在 Datatables 函数中传递参数
- c# - 浮动无效转换/浮动意外行为
- php - file_get_contents 不会在我的错误处理程序脚本中输出
- c# - MongoDB 搜索不区分大小写的字段而不是值
- python - PyQT5 OpenGL 缩放
- node.js - 最小化重复路由 index.js