我尝试提取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”对象不可下标
答案 0 :(得分:0)
obj_lists
表示所有a
标签的列表,为FirefoxWebElement
对象。因此,当您尝试在此列表上循环时,不必为每个项目添加索引:songs
已经是FirefoxWebElement
的实例,其中包含您要查找的所有属性,例如{ {1}},您可以直接访问它。
您甚至可以摆脱text
函数的作用:
enumerate