java - Selenium 动态生长表

标签 java selenium selenium-webdriver automated-tests

我在使用 selenium 处理动态增长表时遇到了一些麻烦。 快速总结一下,在我的网络应用程序中,我有一个包含 30 个项目的表格,但它只显示前 20 个项目,我们必须向下滚动才能显示其余项目。 而且我不知道如何在不向下滚动的情况下获得第 26 个(例如)项目。

我的 HTML:

<table id="tableID" tabindex="0" aria-multiselectable="true" role="grid">
    <thead>
    <tbody id="tableID-tblBody">
        <tr id="item1" role="row" tabindex="-1">
        <tr id="item2" role="row" tabindex="-1">
        [... 17 more]
        <tr id="item20" role="row" tabindex="-1">
    </tbody>
</table>

滚动后:

<table id="tableID" tabindex="0" aria-multiselectable="true" role="grid">
    <thead>
    <tbody id="tableID-tblBody">
        <tr id="item1" role="row" tabindex="-1">
        <tr id="item2" role="row" tabindex="-1">
        [... 27 more]
        <tr id="item30" role="row" tabindex="-1">
    </tbody>
</table>

如果有人能帮助我那就太好了^^
谢谢!

最佳答案

我会 scroll into view表中的最后一行(如果需要多次,直到获得所需的行数)。为此,我将通过 executeScript() 使用 scrollIntoView():

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("arguments[0].scrollIntoView();", element);

其中元素:

WebElement element = driver.findElements(By.xpath("//table[@id = 'tableID']//tr[last()]")).

关于java - Selenium 动态生长表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34594712/

相关文章:

c# - 调用 FirefoxDriver 和 Firefox 时出现错误 : Found argument '-m' which wasn't expected, 或在此上下文中无效

selenium - FileUtils 未显示在 selenium WebDriver 中导入屏幕截图功能的预定义类的建议

java - org.openqa.selenium.WebDriverException : unknown error: cannot find MSEdge binary error using EdgeDriver and Selenium on Mac through Java

java - 如何使用 Selenium WD 针对不同的浏览器类型打开隐身/私有(private)窗口?

java - 从文件加载 jdbc 连接字符串的最佳方法,这样它就不会被硬编码到程序中?

java - 为什么在本地 Maven 仓库上安装时分类器会从 Artifact 中删除?

java - 使用 Selenium Grid 时的 ChromeDriver 日志记录

java - 您好,我面临跨浏览器测试的问题。我没有同时启动两个浏览器

java - BufferedReader 无法正确迭代

java - 如何在InputDialog中等待所需的输入?