繁体   English   中英

在没有任何 class 或 div 的情况下提取 HTML 源代码(python selenium)

[英]Extract HTML source code without any class or div (python selenium)

我的列表不包含任何唯一的 div 或 class。

我想为下面的每一行复制 HTML 源代码。 我找不到该行的 class。 在此处输入图像描述

当我打开“编辑 HTML”时,我看到以下代码:

<tr style="font-size: 11px">
              <td class="center"><a href="/countries/1"><img alt="" src="/assets/flags/flag_1-1db156e1884c1b3d5614b55996cf96cd38843b290c7c43bdd5abbdb944b4075c.gif"></a></td>
              <td><a href="/employees/9526577">Bernard Aarslev</a></td>
              <td><a href="/clubs/1200094">Kirslev FC</a></td>
              <td align="right" style="padding-right: 5px;">69</td>
              <td>Talentspejder</td>
              <td>Talentspejder</td>
              <td align="right" style="padding-right: 5px;">24.000 C</td>
              <td class="center" style="width: 120px;">
                <div class="relative">
                  <div id="stats9526577" style="z-index: 99; position: absolute; top: -80px; right: 80px; display: none;" class="dark"></div>
                  <img src="/assets/detaljer-c83987d00da87f2fa8810793cc815a1659249440edee3c0d084333bc69323384.gif" alt="stats" onmouseout="hide_stats(9526577);" onmouseover="view_stats(9526577, 14, 13, 4, 7, 10, 8, 6, 3);">
                </div>
              </td>
            </tr>

如何编写正确的find_element_by_xpath function 来完成这项工作?

您可以使用:

node = driver.find_element_by_xpath("//table[@class='stretch']//tr[@style][1]")

首先,我们查找包含特定 @class 属性的 table 元素。 然后我们查找该表的第一个 tr 元素,其中包含 @style 属性。

编辑:更多细节,因为它被否决了。 将前面的表达式与 element.get_attribute('outerHTML') 结合(以保留标签)。 所以:

data = node.get_attribute('outerHTML')

如果表的所有行都需要这个,那么:

node = driver.find_elements_by_xpath("//table[@class='stretch']//tr[@style]")
for elem in node :
    data = elem.get_attribute('outerHTML')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM