首页 > 解决方案 > 在机器人框架中向下滚动带有固定标题的表格

问题描述

我需要向下滚动,但问题是滚动并没有应用于整个页面,它只是一个表格体。

我尝试了 Set_focus_on_elementmove_over到表格,然后尝试滚动,但它没有用。

滚动直到找到我使用的元素

Execute Javascript   window.document.evaluate("${xpath}", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.scrollIntoView(true)

这似乎在其他地方工作正常,但只滚动表体,首先我需要在那里设置焦点,但到目前为止还没有运气

标签: pythonpython-3.xselenium-webdriverrobotframework

解决方案


我尝试使用 Java 和 javascript 一切正常。希望对你也有用。

首先获取webelement:

WebElement we = driver.findelement(By.xpath("your xpath")) // 确保它应该出现在 DOM 上,如果不是,它们需要向下滚动或向上滚动,然后再次尝试查找 webElement。

如果你得到 webelement 然后使用下面的代码:

JavascriptExecutor jse = (JavascriptExecutor) driver;

driver.executeScript("arguments[0].scrollIntoView(true);", we);

向下滚动:

jse.executeScript("window.scrollBy(0,document.body.scrollHeight || document.documentElement.scrollHeight)", "");

向上滚动:

jse.executeScript("window.scrollBy(0,-document.body.scrollHeight || -document.documentElement.scrollHeight)", "");

高度可以根据您的需要进行调整,例如:

jse.executeScript("window.scrollBy(0,(-document.body.scrollHeight)/4 || -(document.documentElement.scrollHeight)/4)", "");

推荐阅读