python - 在机器人框架中向下滚动带有固定标题的表格
问题描述
我需要向下滚动,但问题是滚动并没有应用于整个页面,它只是一个表格体。
我尝试了 Set_focus_on_element和move_over到表格,然后尝试滚动,但它没有用。
滚动直到找到我使用的元素
Execute Javascript window.document.evaluate("${xpath}", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.scrollIntoView(true)
这似乎在其他地方工作正常,但只滚动表体,首先我需要在那里设置焦点,但到目前为止还没有运气
解决方案
我尝试使用 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)", "");
推荐阅读
- typescript - 在打字稿中检查非空前提条件的最佳方法
- pytorch - 如何仅在满足条件pytorch的元素上评估损失
- c++ - c++ for循环异常
- laravel - 将查询生成器转换为 Eloquent
- javascript - 在使用 highcharts 实现交叉过滤时更改 x 轴的“类别”的名称
- reactjs - React Native 没有从 API 调用中获取最新数据
- python - 为什么此函数返回“无”值?
- java - 如何获得数组列表中两个数字的总和?
- java - 使用 onlongClick 搜索 Listview 显示错误结果
- java - 如何在 Android WebView 中获取单页 Web 应用的 URL?