繁体   English   中英

Python Selenium - “WebElement”对象不可迭代

[英]Python Selenium - 'WebElement'object is not iterable

我正在尝试获取页面上所有帖子的 URL,以便我可以在另一个选项卡中打开它们,有人可以帮忙吗?

def opening(self):
    bot = self.bot
    bot.maximize_window()
    bot.get('https://www.instagram.com/explore/tags/'+hashtag+'/')
    time.sleep(2)

def posts(self):
    bot = self.bot
    hrefs = bot.find_element_by_tag_name('a')
    pic_hrefs = [elem.get_attribute('href') for elem in hrefs]
    pic_hrefs = [href for href in pic_hrefs if hashtag in href]
    time.sleep(1)
    print(hashtag +' pictures: ' + len(pic_hrefs))

我是初学者,所以请不要取笑我,谢谢大家的帮助!

这一行:

hrefs = bot.find_element_by_tag_name('a')

返回一个硒网络元素。 它不是列表或任何其他可迭代元素。 换句话说,您将无法使用for 循环遍历它。 打印它,你会看到它是什么。 改用这一行,它将返回一个列表。 请注意,我添加了一个s

hrefs = bot.find_elements_by_tag_name('a')

另外,您是否在hrefhref 不应该是hrefs吗? 那里的最后一个实例:

pic_hrefs = [href for href in pic_hrefs if hashtag in href]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM