【问题标题】:Iterate through xpath? - Python Selenium遍历xpath? - 蟒蛇硒
【发布时间】:2020-07-21 19:55:51
【问题描述】:
a = driver.find_elements_by_xpath("//article[3]/div[3]/div[2]/a[*[local-name()='time']]")
for links in a:
  print (links.text)

这是我在 selenium 中为 Instagram 构建的项目的一些代码,我正在尝试监控我的时间轴上的最后几篇帖子,以便能够捕捉最新的帖子。此代码仅打印 Instagram 上链接的文本形式。每个新帖子中此代码的唯一变化是

article[3]

想知道我是否有办法使用 for 循环遍历“文章”,以便能够以文本形式打印最后 5 或 10 个帖子。

【问题讨论】:

  • 是不是article[3]下面有一堆帖子,为了得到你想要的文字你做整个a = driver.find_elements_by_xpath("//article[3]/div[3]/div[2]/a[*[local-name()='time']]?你能发布一些示例html吗?

标签: python selenium loops xpath


【解决方案1】:

只需添加另一个迭代器并使用 f-string 将值插入您的 XPath。

for index in range(1,10):
    a = driver.find_elements_by_xpath(f"//article[{index}]/div[3]/div[2]/a[*[local-name()='time']]")
    for links in a:
        print(links.text)

【讨论】:

  • @iProgrammer 如果此答案为addressed your problem,请考虑accepting it,方法是单击答案左侧的复选标记/勾选,将其变为绿色。这标志着问题的解决令您满意,并向您和回答者奖励reputation。一旦您拥有 >= 15 的声望点,您也可以根据需要对答案进行投票。也没有义务这样做。
猜你喜欢
  • 2016-05-28
  • 2021-06-28
  • 2021-07-07
  • 2023-02-06
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
相关资源
最近更新 更多