Ich habe eine Funktion erstellt, um die Zahlung nach dem Zufallsprinzip (Nummer) auszuwählen. Wenn die erste Auswahl (Nummer) nicht gefunden wird (try catch), möchte ich eine andere auswählen.Wie kann ich auf ein anderes Element klicken, wenn das Original nicht gefunden wurde?
Ich aber nehme immer:
fehlgeschlagen: Kann nicht Eigentum lesen 'klicken'
wenn Nummer 8 zu senden und es sollte Kredit Warenkorb Visum wählen ...
Was ich bin falsch machen? Die Elemente sind wirklich da und die ID ist auch richtig:
CheckoutPage3.prototype.selectPayment = function (number) {
if (number == 1) {
try {
this.elementPaymentPaypal.click().then(function() {
return 1;
}, function (err) {
console.log("payment not found, select new");
this.elementPaymentCreditCard.click();
this.elementCreditVISA.click();
number = 2;
});
}
catch (err) {
console.log('error occured');
}
}
else if (number == 2) {
this.elementPaymentCreditCard.click();
this.elementCreditVISA.click();
number = 2;
} else if (number == 3) {
this.elementPaymentCreditCard.click();
this.elementCreditMasterCard.click();
number = 3;
}
else if (number == 4) {
try {
this.elementPaymentCreditCard.click();
this.elementCreditAmericanExpress.click().then(function() {
number = 4;
}, function (err) {
console.log("payment not found, select new");
this.elementCreditVISA.click();
number = 2;
});
}
catch (err) {
console.log('error occured');
}
}
else {
try {
this.elementPrePayment.click().then(function() {
number = 5;
}, function (err) {
console.log("payment not found, select new");
this.elementPaymentCreditCard.click();
this.elementCreditVISA.click();
number = 2;
});
}
catch (err) {
console.log('error occured');
}
}
};