Selenium:如何在动态变化的页面中选择每个图片?



我的情况如下:我正在编写一个机器人来自动滚动instagram探索页面。我想给给定标签出现的前100张图片点赞。

我正在使用:Selenium, python, chrome.

我的问题是:每当我滚动,新的帖子"出现"和旧的"消失"。我使用的xpath是这样的://article[row]。然而,这只适用于前10行,因为第11行实际上是第8行,因为以前我已经传递的图片不再出现在同一级别。

不知何故知道如何处理这种情况?我想在一个动态变化的页面中访问每一张图片,当我向下滚动时,新图片会被添加,旧图片会消失。

非常感谢!

你必须使用循环。

伪代码:

posts = []
while something:
posts.extend(driver.find_posts())
driver.scroll_till_current_posts_disappeared

用于滚动,在https://stackoverflow.com/a/74508235/20443541

我偶然发现了这个问题的答案:在Selenium中找到下一个兄弟元素,Python?

基本上你必须使用JS:next_sibling = driver.execute_script(""返回参数[0].nextElementSibling"",元素)

最新更新