Javascript运行一次单击然后另一次

时间:2017-11-28 18:22:18

标签: javascript google-chrome-extension

我尝试做的是让它打开breed_selector下拉菜单,然后选择breed1,然后选择.click,然后移动到下一个品种并单击,然后继续,它需要这样做三次,但不幸的是,它只选择了第一种狗和点击,而不是全部三种。

由于

    (function() {

    var x = document.getElementById("breed_selector).options;
   for(var i=0;i<x.length;i++){
        if(x[i].text=="Labrador"){
            x[i].selected=true;
document.getElementsByClassName("shop")[0].click();
            break;
   }
}

        var x = document.getElementById("breed_selector").options;
   for(var i=0;i<x.length;i++){
        if(x[i].text=="poodle"){
            x[i].selected=true;
document.getElementsByClassName("shop")[0].click();



})();

目前,它只是没有做任何事情,

我试过了

var  = document.getElementById("breed_selector").options;
   for(var i=0;i<x.length;i++){
        if(x[i].text=="poodle", "Labrador", "pug"){
            x[i].selected=true;
document.getElementsByClassName("shop")[0].click();
            break;

但上述情况也不起作用,任何输入都会很棒,谢谢:)

仍然无效的更新代码

(function() {

    var x = document.getElementById("breed_selector").options;
   for(var i=0;i<x.length;i++){
        var text = x[i].text;
        if(x[i].text === "Labrador" && text === "Pug"){
            x[i].selected=true;
document.getElementsByClassName("shop")[0].click();
            break;
   }
}


})();

1 个答案:

答案 0 :(得分:0)

您可以尝试此操作来点击select元素的所有选项:

var breedSelector = document.getElementById("breed_selector");
var howMany = breedSelector.length;
var buttonShop = document.querySelector(".shop");

for (var i = 0; i < howMany; i++) {
    breedSelector.selectedIndex = i;
    buttonShop.click();
}

但请注意,它会快速连续几次点击该按钮。

为了根据价值选择某些选项,您可以尝试以下方法:

var breedSelector = document.getElementById("breed_selector");
var whichOnes = ["Labrador", "Poodle", "Golden"]; //whichever you want.
var buttonShop = document.querySelector(".shop");

whichOnes.forEach(function(breed){
    breedSelector.selectedIndex = [].findIndex.call(breedSelector, function(option) { return option.textContent == breed});
    buttonShop.click();
}