使用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>
答案 0 :(得分:0)
很难说,为什么.text
在你的情况下不起作用,可能是它的设计问题。但您也可以尝试使用get_attribute()
废弃文字,如下所示: -
table.get_attribute("textContent")