首页 > 解决方案 > 尝试使用 Selenium 定位器在特定 h2 之后定位 div

问题描述

任务:确定每个帖子在 Instagram 中引用特定主题标签的日期和时间(例如)。

方法:搜索“最近”标题后的第一个帖子并单击它,然后单击向右箭头继续浏览帖子。

问题:我很难识别标题“最近”之后的第一个帖子。

代码

most_recent = driver.find_element(By.XPATH, "//h2[contains(text(), 'Most Recent')]")
ele_post = most_recent.find_element(By.CSS_SELECTOR, '.v1Nh3 a') 
ele_post.click() 

输出:以上最终返回“热门帖子”而不是“最新”中第一个帖子的日期和时间。

任何帮助将非常感激。

标签: seleniumselenium-webdriverxpathcss-selectorsinstagram

解决方案


解决了。(愚蠢地没有找到我正在搜索的 div 所在的元素。)

此代码有效:

most_recent = driver.find_element(By.XPATH, "(//span[normalize-space(text()) = \'Most Recent\']/following::h2)[1]")
ele_post = most_recent.find_element(By.CSS_SELECTOR, '.v1Nh3 a') 
ele_post.click() 

推荐阅读