硒动态生长表

Chr*_*hou 2 java selenium automated-tests selenium-webdriver

我在使用硒处理动态增长表时遇到一些麻烦。快速总结一下,在我的网络应用程序上,我有一个包含 30 个项目的表格,但它只显示前二十个项目,我们必须向下滚动才能显示其余项目。而且我不知道如何在不向下滚动的情况下获取第 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>
Run Code Online (Sandbox Code Playgroud)

滚动后:

<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>
Run Code Online (Sandbox Code Playgroud)

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

ale*_*cxe 5

我会滚动到表中最后一行的视图(如有必要,请多次滚动,直到获得所需的行数)。为此,我将scrollIntoView()通过以下方式使用executeScript()

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("arguments[0].scrollIntoView();", element);
Run Code Online (Sandbox Code Playgroud)

在哪里element

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