如何使用带有Java的Selenium WebDriver滚动特定的DIV?
2022-09-01 03:57:15
WebDriver无法识别某些WebElements,WebDriver无法找到在浏览器的可见区域中不可见的元素。
为了使WebElement可由WebDriver查看,我们需要使该元素在浏览器的视图中可见,以便在特定的div上向下滚动!
如何在网页的特定区域执行操作(向下滚动并单击)。我尝试了很多,没有帮助我。
请帮助我解决我的问题。
WebDriver无法识别某些WebElements,WebDriver无法找到在浏览器的可见区域中不可见的元素。
为了使WebElement可由WebDriver查看,我们需要使该元素在浏览器的视图中可见,以便在特定的div上向下滚动!
如何在网页的特定区域执行操作(向下滚动并单击)。我尝试了很多,没有帮助我。
请帮助我解决我的问题。
首先,这里发布的大多数答案都偏离了主题。我现在一直在使用硒2和硒3,网络驱动程序可以处理窗口滚动以使元素可见。
对于每个发布摘要的人,例如:
driver.execute_script('scrollBy(0, 250)')
你根本没有得到这个问题!
实际上,我仍然没有找到正确模拟滚动手柄拖动动作的方法,但这个答案似乎很有希望 - 但我没有尝试。
因此,到目前为止,我个人有两种方法可以做到这一点:
Keys.ARROW_DOWN
Keys.PAGE_DOWN
实际上还有第三种方法,只要放弃硒,如果他们提供任何API,请与网站联系。
最简单的方法是执行Javascript来向上/向下滚动元素。
JavascriptExecutor jsExec = (JavascriptExecutor) driver;
jsExec.executeScript("document.getElementById('id').scrollDown += 100");