2016-09-19 179 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")