如何修复“发生错误:'FirefoxWebElement'对象不可下标'

时间:2019-08-31 15:54:51

标签: python python-3.x

我尝试提取Web元素 并且经常出现此错误:

from selenium import webdriver
driver=webdriver.Firefox()
singer_name='Avenged sevenfold'.replace(' ','+')
url=r'https://www.youtube.com/results?search_query='+singer_name
driver.get(url)
obj_lists=driver.find_elements_by_tag_name('a')
driver.minimize_window()

for index,songs in enumerate(obj_lists):
    try:
        print(songs[index].text)
    except Exception as error:
        print(error)


driver.close()

烦人的输出

  

发生的错误“ FirefoxWebElement”对象不可下标

1 个答案:

答案 0 :(得分:0)

obj_lists表示所有a标签的列表,为FirefoxWebElement对象。因此,当您尝试在此列表上循环时,不必为每个项目添加索引:songs已经是FirefoxWebElement的实例,其中包含您要查找的所有属性,例如{ {1}},您可以直接访问它。

您甚至可以摆脱text函数的作用:

enumerate