标签显示在chrome中但不是源

时间:2015-12-01 15:36:32

标签: html google-chrome web-scraping

在进行一些抓取工作时,我一直在Chrome DevTools检查器中遇到<tbody>标记,但它没有出现在源代码中。对于我希望显而易见的原因,我发现这非常令人困惑。这里发生了什么? (我还应该补充一点,这个页面上的html格式错误了。)

例如,DevTools显示:

<table>
    <tbody>
        <tr valign="top">
            <td>...</td>

页面来源显示:

<table border="0">
    <tr valign="top">
        <td>

1 个答案:

答案 0 :(得分:1)

<tbody>的开始标记是可选的。也就是说,您可以将其保留,但只要需要,它就会自动插入浏览器。

并且 是必需的,因为规则规定您不能直接在tr中拥有tabletable元素的唯一子元素可以是captioncolgrouptheadtbodytfoot
因此,如果浏览器在tr之外遇到tbody,则会插入tbody所在的tr

有关更正式的说法,请参阅http://www.w3.org/TR/html-markup/tbody.html

顺便说一句,其他开始标记也是如此,例如<body>。如果您省略该信息,请在<h1>后直接写</head>,浏览器会自动插入隐含的<body>