我是javascript的新手,尝试自动执行下拉列表的选择。我可以使用getElementsByClassName()
功能在https://www.nakedcph.com/en/product/8514/puma-rs-x3-rubiks-373428-001上打开用于选择尺寸的下拉菜单。
现在,如果我检查网站,则下拉列表中的不同大小似乎是由数据值字段而非ID或类名或类似名称标识的。关于如何告诉javascript在下拉菜单中进行选择的任何帮助?
谢谢 费利克斯
答案 0 :(得分:0)
我的解决方法将类似于使用属性“数据目标”通过查询选择器找到合适的“ a”标签,然后通过浏览这些“ a”标签文本来搜索所需的大小,然后通过编程方式单击以选择特定的标签它。
这看起来像:
var a = document.querySelectorAll("a[data-target='#product-form-select']");
for(var i=0;i<a.length;i++){
if("36"==a[i].innerText){ //change 36 with required size
var x=a[i];
x.click();
break;
}
}
您可以通过在控制台中运行它进行测试
答案 1 :(得分:0)
请注意,此代码取决于页面的源代码,这些源代码具有与下拉列表元素相同的结构和类名。
var dropdowns = document.getElementsByClassName("product-form-dropdown-btn");
if(dropdowns.length > 0){
var dropdown = dropdowns[0];
var items = dropdown.parentNode.getElementsByClassName("dropdown-item");
for(var i = 0; i < items.length; i++){
if(items[i].innerText.trim() == "36"){
dropdown.click();
items[i].click();
break;
}
}
}