'list'对象没有属性'text'



如何修复此错误'list' object has no attribute 'text'

Davao14 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[1]')
Davao15 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[2]')
Davao16 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[3]')
Davao17 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[4]')
Davao18 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[5]')
Davao19 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[6]')
Davao20 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[7]')
Davao21 = wd1.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[8]')
Cebu14 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[1]')
Cebu15 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[2]')
Cebu16 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[3]')
Cebu17 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[4]')
Cebu18 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[5]')
Cebu19 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[6]')
Cebu20 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[7]')
Cebu21 = wd2.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[8]')
Manila14 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[1]')
Manila15 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[2]')
Manila16 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[3]')
Manila17 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[4]')
Manila18 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[5]')
Manila19 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[6]')
Manila20 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[7]')
Manila21 = wd3.find_elements_by_xpath('/html/body/div[2]/div[4]/div/div[3]/div[1]/div[1]/div/div/div[8]')
data1 = [Davao14, Davao15, Davao16, Davao17, Davao18, Davao19, Davao20, Davao21]
data2 = [Cebu14, Cebu15, Cebu16, Cebu17, Cebu18, Cebu19, Cebu20, Cebu21]
data3 = [Manila14, Manila15, Manila16, Manila17, Manila18, Manila19, Manila20, Manila21]
for datas1 in data1:
for datas2 in data2:
for datas3 in data3:
print("***DAVAO-CITY***nn")
print(datas1.text)
print("nn")
print("***CEBU-CITY***nn")
print(datas2.text)
print("nn")
print("***MANILA-CITY***nn")
print(datas3.text)

输出:

***DAVAO-CITY***

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-96-63ba9131bde0> in <module>()
7     for datas3 in data3:
8       print("***DAVAO-CITY***nn")
----> 9       print(datas1.text)
10       print("nn")
11       print("***CEBU-CITY***nn")
AttributeError: 'list' object has no attribute 'text'
data1 = [Davao14, Davao15, Davao16, Davao17, Davao18, Davao19, Davao20, Davao21]

data1 是 Web 元素列表的列表。 这意味着,Davao14也是一个列表。 达沃15等也是如此。

for datas1 in data1:
for inside_list in datas1:
print("***DAVAO-CITY***nn")
print(inside_list.text)

同样,您可以对data2data3使用不同的循环

更新:

嵌套循环是快速获取big O notation的一种方法。

通常(但并非总是)嵌套在另一个循环中的一个循环会导致O(n²)

对于这个用例,我不喜欢嵌套循环。

for datas2 in data2:
for inside_list in datas2:
print("***DAVAO-CITY***nn")
print(inside_list.text)

datas1是一个字符串列表,而每个data1元素都是一个字符串.
datas2&data2datas3&data3也是如此 .
String 元素没有.text方法.
字符串列表也没有.text方法.
要打印所有字符串列表,您应该将字符串本身直接传递给print()方法.
所以而不是

data1 = [Davao14, Davao15, Davao16, Davao17, Davao18, Davao19, Davao20, Davao21]
data2 = [Cebu14, Cebu15, Cebu16, Cebu17, Cebu18, Cebu19, Cebu20, Cebu21]
data3 = [Manila14, Manila15, Manila16, Manila17, Manila18, Manila19, Manila20, Manila21]
for datas1 in data1:
for datas2 in data2:
for datas3 in data3:
print("***DAVAO-CITY***nn")
print(datas1.text)
print("nn")
print("***CEBU-CITY***nn")
print(datas2.text)
print("nn")
print("***MANILA-CITY***nn")
print(datas3.text)

它应该是

data1 = [Davao14, Davao15, Davao16, Davao17, Davao18, Davao19, Davao20, Davao21]
data2 = [Cebu14, Cebu15, Cebu16, Cebu17, Cebu18, Cebu19, Cebu20, Cebu21]
data3 = [Manila14, Manila15, Manila16, Manila17, Manila18, Manila19, Manila20, Manila21]
for datas1 in data1:
for datas2 in data2:
for datas3 in data3:
print("***DAVAO-CITY***nn")
print(data1)
print("nn")
print("***CEBU-CITY***nn")
print(data2)
print("nn")
print("***MANILA-CITY***nn")
print(data3)

最新更新