基本上,我正在尝试编写一个命令行客户端脚本(javascript)来自动在线购买东西。
问题是,在这个特定的网页上,我试图点击的按钮(添加到购物车)在页面中出现多次(针对不同的产品)。
我知道:
document.getElementById('addToCart').submit();
会点击addToCart
,但由于有几个具有相同名称的按钮,如何找到并点击特定产品的特定按钮?
我们可以假设我们事先知道产品名称,并且每个addToCart按钮都有一个唯一的ID(我不知道)。
答案 0 :(得分:0)
你有点自己回答,如果你已经知道产品名称,你肯定知道它的按钮ID了吗?
document.getElementById('button234').click()
答案 1 :(得分:0)
页面上的特定ID不应超过一个元素。
如果您需要多个元素,请使用class
属性。
正如SmokeyPHP所写,您可以使用.click()
或.submit()
来触发点击事件。
答案 2 :(得分:0)
每个人都是正确的,你应该只有一个ID,但这里有一点比较你如何做到这一点。
所以你说你有一些动态生成的HTML吗?您将获得一个产品列表,您可以获得如下所示的按钮列表。
<input id="productId_233442" class="addToCart" type="button" value="addToCart"></input><br/>
<input id="productId_25AD22" class="addToCart" type="button" value="addToCart"></input><br/>
<input id="productId_1J3422" class="addToCart" type="button" value="addToCart"></input><br/>
出于样式目的,您可以为它们提供与上例中相同的addToCart类。
至于java脚本,你可以有这样的东西。
$(document).ready(function(){
$(document).click(function(event){
alert(event.target.id);
});
});
我正在使用JQuery,我建议但是如果你愿意,你可以在纯JS中做到这一点,但我无法想象为什么你会这样做。
见下面的小提琴。 http://jsfiddle.net/r0k3t/dRam5/