我在处理硒动态表方面遇到一些麻烦。
概括起来,在我的Web应用程序上,我有一个包含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(如果需要多次,直到获得所需的行数)。为此,我将通过scrollIntoView()使用executeScript()

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


其中element

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

09-12 05:44