Selenium Webdriver:不在“td”选项卡中打印文本

2024-10-01 00:35:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在网页中有以下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>

我正在尝试打印“tr”选项卡中的文本,特别是“75mmhg”和“NIOSH”。 我可以在一个名为vp_li的变量中选择这个“li”选项卡,当我调用print(vp_li.text)时,它会打印“实验蒸汽压:”。你知道吗

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

但是,当我运行这个时,它只打印一个空行。如何获取所需数据?你知道吗


Tags: namenonestyletablelih2trclass
1条回答
网友
1楼 · 发布于 2024-10-01 00:35:34

it prints 'Experimental Vapor Pressure:'

这是因为.text在默认情况下只会得到可见文本。你知道吗

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

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

相关问题 更多 >