在机器人框架中向下滚动具有固定标题的表

时间:2018-07-08 06:49:54

标签: python python-3.x selenium-webdriver robotframework

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

我尝试了 Set_focus_on_element move_over 到表中,然后尝试了滚动,但是没有用。

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

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

这似乎在其他地方也不错,但是只滚动表主体,首先我需要在那儿设置焦点,但到目前为止没有运气

2 个答案:

答案 0 :(得分:2)

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

首先获取网络元素:

WebElement we = driver.findelement(By.xpath(“ your xpath”))//确保它应显示在DOM上,如果不是,则需要向下滚动或向上滚动,然后再次尝试查找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)", "");

答案 1 :(得分:0)

在表格视图中向左滑动即可向右移动 码 睡觉1 滑动x y(常数)x y(常数)

示例 睡觉1 滑动.8 564 .3 564

确保在显示表视图的位置给出y坐标。 这样您就可以轻松滚动