【问题标题】:Can't print contents after scraping site抓取网站后无法打印内容
【发布时间】:2017-01-27 13:14:27
【问题描述】:

使用 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>

【问题讨论】:

  • 尝试使用table.get_attribute("textContent")
  • 行得通!非常感谢。为什么这行得通而不是 .text??
  • 很难说,为什么 .text 在您的情况下不起作用,可能是它的设计问题..我提供了它作为答案,您也可以将其标记为正确。谢谢..:)

标签: python selenium web-scraping html-table


【解决方案1】:

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

table.get_attribute("textContent")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    相关资源
    最近更新 更多