java - 如何使用 selenium 模拟人类滚动弹出对话框?
问题描述
在我正在解析的页面上,出现一个标有“.isgrP”的对话框,我需要它向下滚动并浏览出现的列表才能继续。我通过stackoverflow搜索了解决方案,我想出的最接近的解决方案是:
WebDriverWait(driver, 10).until(lambda d: d.find_element_by_css_selector('div[role="dialog"]'))
driver.execute_script('''
var fDialog = document.querySelector('div[role="dialog"] .isgrP');
fDialog.scrollTop = fDialog.scrollHeight
''')
我相信我遇到的这个解决方案使用 Java 而不仅仅是 selenium 或 python。这段代码的问题是它滚动得太快并且被检测为机器人,因此页面不再加载。我想知道是否有办法降低滚动速度或让它模仿人类的滚动速度?
解决方案
推荐阅读
- microsoft-teams - 是否可以以编程方式(例如使用图表)将选项卡添加到聊天中
- hibernate - hibernate + 单表继承 + discriminatorColumn --> DiscriminatorType 无法解析为变量
- operating-system - 为未加密的文件设置密码
- python - 迭代地在二叉树中插入值
- php - 如何在不使用会话和调用方法的情况下将变量从函数传递到控制器中的另一个函数
- python - PyQt5:无法设置来自不同文件的类
- charts - 如何更改 resetZoomButton 文本(Vaadin 图表)?
- uicollectionview - 使用不同的数据源添加、更改和删除
- jupyter-notebook - 禁用从 jupterlab 和笔记本下载的选项
- arrays - 同一函数中的常量会抛出未解析的标识符