2016-09-19 177 views
0

我使用硒刮取网站后无法打印内容。我需要刮一张桌子。以下是我正在尝试做的事情:无法在网站上打印内容

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> 
+0

尝试使用'table.get_attribute( “的textContent”)' –

+1

这工作!非常感谢。为什么会这样工作而不是.text? –

+0

很难说,为什么.text不适用于你的情况,可能是它的设计问题。我提供了它作为答案,你可以把它标记为正确的。谢谢..:) –

回答

0

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

table.get_attribute("textContent")