-1

我正在尝试自动单击课程列表中的链接。目前我有一个工作脚本,它将使用 querySelector() 选择容器中的第一个项目,一行代码包装在一个函数中。为了获得更高的可用性,我想知道是否可以修改代码,以便脚本在容器中的每个项目中搜索,尝试将列表的标题或名称与定义的变量匹配,以满足用户的需求,一旦找到,点击该特定项目的链接。

<div class="item-wall">
    <div class="grid-item" data-column-index="0" data-pdpurl="http://www.LINK1.com">
        <div class="grid-item"> … </div>
        <div class="content">
            <div class="grid-item-details-wrapper">
                <div class="grid-item-image"> … </div>
                <div class="grid-item-info-wrapper no-chipper">
                    <a href="http://www.LINK1.com">
                        <div class="product-name">
                             <p class="griditem-display-name nsg-font-size--regular nsg-text--dark-grey">
                                 PRODUCT1
                             </p>
                             <p class="griditem-subtitle nsg-font-size--regular nsg-text--medium-grey"> … </p>
                        </div>
                        <div class="product-price-wrapper"> … </div>
                    </a>
                </div>
                <div class="grid-item-extras"> … </div>
            </div>
        </div>
    </div>
    <div class="grid-item" data-column-index="1" data-pdpurl="http://www.LINK2.com">
        <div class="grid-item"> … </div>
        <div class="content">
            <div class="grid-item-details-wrapper">
                <div class="grid-item-image"> … </div>
                <div class="grid-item-info-wrapper no-chipper">
                    <a href="http://www.LINK2.com">
                        <div class="product-name">
                             <p class="griditem-display-name nsg-font-size--regular nsg-text--dark-grey">
                                 PRODUCT2
                             </p>
                             <p class="griditem-subtitle nsg-font-size--regular nsg-text--medium-grey"> … </p>
                        </div>
                        <div class="product-price-wrapper"> … </div>
                    </a>
                </div>
                <div class="grid-item-extras"> … </div>
            </div>
        </div>
    </div>
    <div class="paging-bar hidden"> … </div>
    <div class="spacer"></div>
</div>

抱歉这么啰嗦。该网页有一个包含多个项目的“项目墙”,此处仅显示 2 个。我希望能够在脚本中将变量设置为字符串,并能够使用类似 .contain() 的内容在墙上找到匹配产品名称的实例,然后打开对应的链接选择。感谢您的任何意见!

///////////////////////////////////////// ////////////////////////////////////

编辑:感谢@Barmar 的工作控制台功能:

function product_click(product) {
    $(".griditem-display-name:contains("+product+")").closest("a").click();
}
product_click("Desirable here")

现在我不知道如何使这个函数在脚本中运行。我已经尝试在 Firefox 中使用 scriptish 并尝试将其写入 .js 文件并将其作为未打包的扩展加载到 chrome 中,但无济于事。似乎函数/脚本不会加载。如果有人有任何想法,他们将不胜感激。再次感谢!

4

1 回答 1

1

如果我理解正确,我认为是这样的:

function product_click(product) {
    $(".griditem-display-name:contains("+product+")").closest("a").click();
}
于 2013-11-08T22:01:47.077 回答