如何使用Puppeteer(v1.15.0)滚动到“模态”窗口的底部?我需要单击“模态”窗口底部的“接受”按钮,但是只有滚动到“模态”窗口的最底部之后才能启用该按钮。 “模态”窗口包含许多文本,在“模态”窗口固定高度的情况下,需要滚动。
现在,我要通过.boundingBox()
获取按钮元素的位置,然后将鼠标通过相对像素位置移动到模式垂直滚动条的底部,然后单击它,直到到达底部。木偶戏中还有更“本土”的方式吗?
模态HTML类似于:
<div class="modal-header">
<h4 class="modal-title" style="text-align:center">Some Title</h4>
</div>
<div class="modal-body" style="height: 475px; overflow:auto;">
<div id="msgBody">lots and lots of text...
</div>
</div>
<div class="modal-footer">
<input id="modal-option" type="submit" class="btn btn-success" name="option" value="Accept" disabled="disabled">
<input id="modal-cancel" type="button" class="btn btn-warning" name="cancel" value="Decline">
</div>
答案 0 :(得分:1)
关于您的最后评论,page.click()
和page.hover()
都以相同的方式将元素滚动到视图中。 page.click()的API documentation状态:
此方法使用选择器获取一个元素,如果需要,将其滚动到视图中,然后使用page.mouse单击该元素的中心。
对于page.hover():
此方法使用选择器获取一个元素,如果需要,将其滚动到视图中,然后使用page.mouse将鼠标悬停在该元素的中心
我不确定您为什么会遇到此问题,但最简单的方法可能是重新考虑应用的用户体验-为什么您在模式中包含的内容如此之多而导致此问题?