从控制台中的工作函数转换为工作脚本.(请参阅编辑)

Converting from working function in console to working script. (See Edit)

本文关键字:工作 脚本 请参阅 编辑 转换 控制台 函数      更新时间:2023-09-26

我正在尝试自动单击类列表中的链接。目前我有一个工作脚本,它将使用 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 中使用脚本,并尝试将其写入.js文件并将其作为 chrome 中的解压缩扩展名加载,但无济于事。似乎函数/脚本无法加载。如果有人有任何想法,他们将不胜感激。再次感谢!

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

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