刮网后无法打印内容

时间:2016-09-19 18:47:32

标签: python selenium web-scraping html-table

使用selenium抓取网站后,我无法打印内容。我需要刮一张桌子。这就是我想要做的事情:

table = driver.find_element_by_xpath('//div[@class="line-chart"]/div/div[1]/div/div/table/tbody')

print table.text

但我只是得到一个空白!

我知道我选择了正确的内容,因为当我保存一个html文件时,它可以正常工作:

source_code = table.get_attribute("outerHTML")
f = open('html_source.html', 'w')
f.write(source_code.encode('utf-8'))
f.close()

我得到了:

<tbody><tr><td>‪Jun 19‬</td><td>7</td></tr><tr><td>‪Jun 20‬</td><td>26</td></tr><tr><td>‪Jun 21‬</td><td>27</td></tr><tr><td>‪Jun 22‬</td><td>26</td></tr><tr><td>‪Jun 23‬</td><td>26</td></tr><tr><td>‪Jun 24‬</td><td>57</td></tr><tr><td>‪Jun 25‬</td><td>11</td></tr><tr><td>‪Jun 26‬</td><td>7</td></tr><tr><td>‪Jun 27‬</td><td>39</td></tr><tr><td>‪Jun 28‬</td><td>31</td></tr><tr><td>‪Jun 29‬</td><td>29</td></tr><tr><td>‪Jun 30‬</td><td>28</td></tr><tr><td>‪Jul 1‬</td><td>26</td></tr><tr><td>‪Jul 2‬</td><td>7</td></tr><tr><td>‪Jul 3‬</td><td>5</td></tr><tr><td>‪Jul 4‬</td><td>4</td></tr><tr><td>‪Jul 5‬</td><td>26</td></tr><tr><td>‪Jul 6‬</td><td>26</td></tr><tr><td>‪Jul 7‬</td><td>22</td></tr><tr><td>‪Jul 8‬</td><td>23</td></tr><tr><td>‪Jul 9‬</td><td>6</td></tr><tr><td>‪Jul 10‬</td><td>5</td></tr><tr><td>‪Jul 11‬</td><td>27</td></tr><tr><td>‪Jul 12‬</td><td>27</td></tr><tr><td>‪Jul 13‬</td><td>26</td></tr><tr><td>‪Jul 14‬</td><td>28</td></tr><tr><td>‪Jul 15‬</td><td>25</td></tr><tr><td>‪Jul 16‬</td><td>7</td></tr><tr><td>‪Jul 17‬</td><td>5</td></tr><tr><td>‪Jul 18‬</td><td>28</td></tr><tr><td>‪Jul 19‬</td><td>28</td></tr><tr><td>‪Jul 20‬</td><td>30</td></tr><tr><td>‪Jul 21‬</td><td>29</td></tr><tr><td>‪Jul 22‬</td><td>30</td></tr><tr><td>‪Jul 23‬</td><td>9</td></tr><tr><td>‪Jul 24‬</td><td>6</td></tr><tr><td>‪Jul 25‬</td><td>35</td></tr><tr><td>‪Jul 26‬</td><td>92</td></tr><tr><td>‪Jul 27‬</td><td>100</td></tr><tr><td>‪Jul 28‬</td><td>50</td></tr><tr><td>‪Jul 29‬</td><td>39</td></tr><tr><td>‪Jul 30‬</td><td>9</td></tr><tr><td>‪Jul 31‬</td><td>6</td></tr><tr><td>‪Aug 1‬</td><td>32</td></tr><tr><td>‪Aug 2‬</td><td>35</td></tr><tr><td>‪Aug 3‬</td><td>31</td></tr><tr><td>‪Aug 4‬</td><td>33</td></tr><tr><td>‪Aug 5‬</td><td>33</td></tr><tr><td>‪Aug 6‬</td><td>10</td></tr><tr><td>‪Aug 7‬</td><td>6</td></tr><tr><td>‪Aug 8‬</td><td>29</td></tr><tr><td>‪Aug 9‬</td><td>32</td></tr><tr><td>‪Aug 10‬</td><td>30</td></tr><tr><td>‪Aug 11‬</td><td>29</td></tr><tr><td>‪Aug 12‬</td><td>27</td></tr><tr><td>‪Aug 13‬</td><td>7</td></tr><tr><td>‪Aug 14‬</td><td>6</td></tr><tr><td>‪Aug 15‬</td><td>34</td></tr><tr><td>‪Aug 16‬</td><td>33</td></tr><tr><td>‪Aug 17‬</td><td>29</td></tr><tr><td>‪Aug 18‬</td><td>27</td></tr><tr><td>‪Aug 19‬</td><td>25</td></tr><tr><td>‪Aug 20‬</td><td>12</td></tr><tr><td>‪Aug 21‬</td><td>7</td></tr><tr><td>‪Aug 22‬</td><td>23</td></tr><tr><td>‪Aug 23‬</td><td>26</td></tr><tr><td>‪Aug 24‬</td><td>24</td></tr><tr><td>‪Aug 25‬</td><td>23</td></tr><tr><td>‪Aug 26‬</td><td>21</td></tr><tr><td>‪Aug 27‬</td><td>7</td></tr><tr><td>‪Aug 28‬</td><td>3</td></tr><tr><td>‪Aug 29‬</td><td>24</td></tr><tr><td>‪Aug 30‬</td><td>43</td></tr><tr><td>‪Aug 31‬</td><td>27</td></tr><tr><td>‪Sep 1‬</td><td>23</td></tr><tr><td>‪Sep 2‬</td><td>23</td></tr><tr><td>‪Sep 3‬</td><td>7</td></tr><tr><td>‪Sep 4‬</td><td>5</td></tr><tr><td>‪Sep 5‬</td><td>5</td></tr><tr><td>‪Sep 6‬</td><td>26</td></tr><tr><td>‪Sep 7‬</td><td>72</td></tr><tr><td>‪Sep 8‬</td><td>53</td></tr><tr><td>‪Sep 9‬</td><td>37</td></tr><tr><td>‪Sep 10‬</td><td>9</td></tr><tr><td>‪Sep 11‬</td><td>6</td></tr><tr><td>‪Sep 12‬</td><td>30</td></tr><tr><td>‪Sep 13‬</td><td>35</td></tr><tr><td>‪Sep 14‬</td><td>44</td></tr><tr><td>‪Sep 15‬</td><td>54</td></tr><tr><td>‪Sep 16‬</td><td>53</td></tr></tbody>

1 个答案:

答案 0 :(得分:0)

很难说,为什么.text在你的情况下不起作用,可能是它的设计问题。但您也可以尝试使用get_attribute()废弃文字,如下所示: -

table.get_attribute("textContent")