lin_count = len(driver.find_elements_by_xpath("/html/body/div/table/tbody/tr"))
nomes = [lin_count]
for x in range(1, lin_count):
nomes[x] = (driver.find_element_by_xpath("/html/body/div/table/tbody/tr["+str(x)+"]/td[2]").text)
driver.close()
OUT:IndexError:列表分配索引超出范围
答案 0 :(得分:0)
第nomes = [lin_count]
行不会列出5个元素,请这样做:
nomes = [""] * lin_count
答案 1 :(得分:0)
您的代码中有很多问题
代码
nomes = [lin_count]
不会使用lin_count个空元素创建一个列表。它使用一个元素创建列表:lin_count
range(1, lin_count)
创建值从1到lin_count-1的列表,因此您将错过列表中的最后一个元素
driver.find_elements_by_xpath
已返回列表,请使用它!
我认为您的代码应该更像这样:
nomes = []
x = 0
xpath = "/html/body/div/table/tbody/tr"
for step in driver.find_elements_by_xpath(xpath):
x += 1
nomes.append(driver.find_element_by_xpath(xpath+"["+str(x)+"]/td[2]").text)