首页 > 解决方案 > 如何使用 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。这段代码的问题是它滚动得太快并且被检测为机器人,因此页面不再加载。我想知道是否有办法降低滚动速度或让它模仿人类的滚动速度?

标签: javapythonselenium

解决方案


推荐阅读