Selenium Webdriver:不打印文本' td'标签

时间:2016-06-26 02:20:17

标签: python html selenium

我在网页中有这个HTML:

<li style="list-style-type: none">
        <h2 class="section-head"><a href=""><span class="user_data_property_name">Experimental Vapor Pressure:</span></a></h2>
        <table style="display:none">
          <tbody><tr>
            <td valign="top">75 mmHg <strong>NIOSH</strong>  <a target="_new" href="http://www.cdc.gov/niosh/npg/npgd0049.html" title="NIOSH - CY1400000" onclick="partnerLink(137,'http://www.cdc.gov/niosh/npg/npgd0049.html','link');">CY1400000</a></td>
          </tr>
        </tbody></table>
      </li>

我正在尝试在&#39; tr&#39;中打印文字。标签,特别是&#34; 75 mmHg&#34;和&#34; NIOSH&#34;。 我可以选择这个&#39; li&#39;标记为vp_li的变量,当我调用print(vp_li.text)时,会打印出“实验蒸汽压力:&#39;”

vp_li = extable.find_elements_by_tag_name("li")[3]
vp = vp_li.find_element_by_xpath("table/tbody/tr/td")
print(vp.text)

然而,当我运行它时,它只打印一个空白行。我怎样才能得到我想要的数据?

1 个答案:

答案 0 :(得分:2)

  

它打印实验蒸汽压力:&#39;

这是因为.text默认情况下只会为您提供可见文字

您可以通过获取textContent属性来解决此问题:

vp_li = extable.find_elements_by_tag_name("li")[3] 
print(vp_li.get_attribute("textContent"))