【问题标题】:Extract HTML source code without any class or div (python selenium)提取没有任何类或 div 的 HTML 源代码(python selenium)
【发布时间】:2020-04-19 01:33:44
【问题描述】:

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

我想复制下面每一行的 HTML 源代码。我找不到该行的类。

当我打开“编辑 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 函数来完成这项工作?

【问题讨论】:

  • 你绝对需要完全基于类吗?
  • @AMC 没关系,我就是想遍历那些表行,提取源码
  • 好的,那么有什么具体的问题吗?请参阅How to Askhelp center
  • 我确实理解你的问题,这就是为什么我觉得它缺乏。我的评论内容丰富。
  • 另外,这个问题与您之前的问题基本相同吗:stackoverflow.com/questions/61297512/…?这两个都非常清楚地基于第三个问题,三个问题中最早的一个:stackoverflow.com/questions/61291183/…

标签: python selenium-webdriver xpath


【解决方案1】:

你可以使用:

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

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

编辑:更多细节,因为它被否决了。将前面的表达式与 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')

【讨论】:

    猜你喜欢
    • 2015-06-30
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多