列表索引必须是整数或切片,而不是WebElement

时间:2017-01-23 19:14:11

标签: python selenium

尝试遍历页面上给定类的所有项目:

for i in browser.find_elements_by_class_name("myClass"):
        elementContents=str(browser.find_elements_by_class_name("myClass")[i].get_attribute('innerHTML'))

我收到错误说:

TypeError: list indices must be integers or slices, not WebElement

str的原因是因为我能够输出元素的HTML内容。

1 个答案:

答案 0 :(得分:1)

browser.find_elements_by_class_name("myClass")会返回WebElements的列表。所以..在你的for循环中,每次迭代产生一个WebElement,而不是整数索引...你根本不需要使用索引。

此外,在执行的块中,您不需要第二次调用browser.find_elements_by_class_name("myClass")

你想做类似的事情:

for element in browser.find_elements_by_class_name('myClass'):
    element_contents = element.get_attribute('innerHTML')