回溯(最近一次调用最后一次):文件&#34; <pyshell#439>&#34;,第3行,<module> print(l.text)AttributeError:&#39; list&#39;对象没有属性&#39; text&#39;

时间:2016-07-29 06:39:00

标签: python selenium

我目前正在使用python shell中的selenium抓取Linkedin Job目录

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get('https://www.linkedin.com/jobs/search?locationId=sg%3A0&f_TP=1%2C2&orig=FCTD&trk=jobs_jserp_posted_one_week')

a = driver.find_elements_by_class_name('job-title-text')
b = driver.find_elements_by_class_name('company-name-text')
c = driver.find_elements_by_class_name('job-location')
d = driver.find_elements_by_class_name('job-description')

#There are 50 pages of jobs therefore I specified a range of 55

for e in range(55):
    for g in a:
        print(g.text)
    for h in b:
        print(h.text)
    for i in c:
        print(i.text)
    for j in d:
        print(j.text)

k = driver.find_element_by_class_name('next-btn')
k.click()
Job = []
Job.append(a)
Job.append(b)
Job.append(c)
Job.append(d)

for e in range(55):
    for l in Job:
        print(l.text)

k = driver.find_element_by_class_name('next-btn')
k.click()

此代码无效,我一直在努力并尝试各种方法来解决此问题。如果我能得到正确的解决方案,那就太好了。

2 个答案:

答案 0 :(得分:0)

那是因为你会在Job获得多维数组。 尝试替换

 Job.append(a) 
 Job.append(b)
 Job.append(c)
 Job.append(d)

Job += a
Job += b
Job += c
Job += d

答案 1 :(得分:0)

我认为这是因为变量“a”是一个列表。 您可以调试以查看“作业”列表中的内容。 我认为你的代码中的Job列表就像这个Job = [[a],[b],[c],[d]]。