当前位置: 首页 > 知识库问答 >
问题:

遍历表

呼延鹏云
2023-03-14

我试图在Java中使用Selenium遍历一个表(目前使用的是chromedriver)。该表的内容由不同的人组成,他们的个人资料有链接,对于该表中的每个人,我将进入他们的个人资料并提取一些信息。我将为X数量的人做这件事。该表每页包含5人,我通过单击分页按钮浏览页面”

现在来看这个问题:举个例子,我现在在exampleUrl。com/page\u包含表I,然后输入用户的配置文件并提取他们的信息,他们的URL类似于exampleUrl。com/user_x.I然后使用

driver.navigate().back();

返回表页(例如Url.com/page_containing_table)。

问题是,当我遍历表时,URL不会改变。所以每当我从exampleUrl返回时。com/user\u x到exampleUrl。com/page_包含_表,我将始终在表的第一页结束。

当我只需要从表中的第一页获取用户信息时,这很好,但是如果我需要浏览25页呢?如果我在第11页,那么我将能够在第11页检索一个用户的信息,然后我将导航回第1页,然后我将不得不再次分页到第11页,以便能够提取更多用户的信息。

我所尝试的:

>

  • 我试图对所有页面进行分页,以检索所有用户的链接,然后单击它们,但很明显,我收到了StaleElementReferenceException,因为该链接当前在页面上不可见。

    我还认为可能有一种方法可以在我对表进行分页时复制驱动程序,然后切换到特定的驱动程序,但这也失败了。

    通过谷歌我找不到任何其他关于这个的问题,所以我有点不知所措。有没有办法保存状态,这样我就不必每次都回到第一页?

    提前感谢:)

  • 共有1个答案

    齐磊
    2023-03-14

    我可以想到一些方法来做到这一点:

    >

  • 首先刮去整个表,收集每个用户配置文件页面的URL,并将其存储在数组中。完成刮取整个表后,循环遍历数组,导航到每个URL,并从那里刮取所需的内容。我觉得这是最好最快的选择。

    另一种可能性是URL包含您所在表的页面。例如,如果您在表的第5页,URL将包含类似?page=5.我假设情况并非如此,因为后退按钮完全重新开始。

    另一个变化可能是页面上有一个页面计数器,例如

    在没有看到网站/页面的情况下,我不能肯定2或3是可行的选择。他们是根据我在其他网站上看到的猜测。

  •  类似资料:
    • 问题内容: 我想从包含一列的每个表中输出数据。我将以下过程放在一起,但是在我的循环中,mysql从字面上解释表名,而不是评估变量。解决办法是什么? 问题答案: 尝试这个:

    • 主要内容:什么是遍历?,遍历 DOM什么是遍历? jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。 下图展示了一个家族树。通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行遍历。 图示解析: <div> 元素是 <

    • 本文向大家介绍Swift遍历,包括了Swift遍历的使用技巧和注意事项,需要的朋友参考一下 例子            

    • 编辑:在@Prashant回答后,我明白我的输出顺序需要保留,因此我相应地编辑了我的原始问题并重新发布。 我想从根节点(2)遍历到叶节点(1、6、8、3、11和12)。在这种遍历过程中,我希望获取连接到产品节点13(即)的节点,我希望编写一个返回1、8、9、3、11和12的查询。 @Prashant的回答: 输出 然而,我所需输出的顺序是1、8、9、3、11和12,即在每个级别上,要求选择一个子节

    • 无论是调试的需要还是修改节点和边,你可能都需要在现有的有向有环图中进行遍历,下面就介绍图遍历的一些方法。 简单访问 节点和边有很多属性和方法是用来遍历的,边的 from 和 to 属性就是例子,而节点更多: 类型 名称 作用 属性 upstreamNodes 当前节点的所有上游节点 属性 downstreamNodes 当前节点的所有下游节点 属性 upstreamTransforms 当前节点的

    • jQuery是一个非常强大的工具,它提供了各种DOM遍历方法,以帮助我们随机选择文档中的元素以及顺序方法。 大多数DOM遍历方法都不修改jQuery对象,它们用于根据给定条件过滤掉文档中的元素。 按索引查找元素 考虑一个包含以下HTML内容的简单文档 - <html> <head> <title>The JQuery Example</title> </head> <