富结果测试中“名称”字段的值类型无效

问题描述

这里是标记

<div itemscope="" itemtype="http://schema.org/Vehicle" class="appitem sale" id="vehicle-5759">
                    <div class="appborder">
                        <div class="appborder2">
                            
                            <div class="item-header">
                                <div class="title-header-wrapper">
                                    <div class="item-title">
                                        <h3><a href="/inventory/new/2021-northwood-mfg-arctic-fox3/" itemprop="name">2021 northwood Mfg Arctic Fox 29RK</a></h3>
                                    </div>
                                    <div class="item-save-btn desktop-only">
                                        <a class="save-btn save_listing" data-guid="DDF0DA55-CCA0-41E3-A50E-5BE4EA845CC3">Save <i class="fa fa-star" aria-hidden="true"></i></a>
                                    </div> 

                                    <div class="clearfix"></div>
                                </div> 

                                <div class="item-header-features-list">
                                    <ul>
                                        <li><span class="bold-label">Model:</span> <span class="info">Arctic Fox</span></li>
<li><span class="bold-label">Condition:</span> <span class="info">New</span></li>

                                    </ul>

                                    <div class="clearfix"></div>
                                </div> 
                            </div>

这里是丰富的结果测试输出

enter image description here

这个标记有什么问题导致这个错误?包含项目名称的正确方法是什么?

解决方法

在您的标记中,属性名称的范围限定为您在其中设置属性的链接。这与documentation Schema for this property相反:

应为这些类型之一的值 - 文本

可能的解决方案:在作为链接父级的 H3 元素中设置此属性。例如:

<h3 itemprop="name"><a href="/inventory/new/2021-northwood-mfg-arctic-fox3/">2021 Northwood Mfg Arctic Fox 29RK</a></h3>
,

在微数据规范中,它确实表明“a”元素上的 itemprop 的值是“href”属性:

https://www.w3.org/TR/microdata/#values

如果元素是 a、area 或 link 元素: 如果元素有一个 href 属性,让建议值成为解决该问题的结果 属性的文本内容。如果建议值是有效的绝对 URL: 该值为建议值。否则值为空字符串

这让我很惊讶,因为我记得指定为文本类型的属性将使用元素 textContent 而 id 或 url 类型将使用 href。我的记忆好像有误。

因此,您需要将 itemprop 移动到 'a' 元素外部或内部的元素,以捕获具有有效内容的内部文本。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...