Tengo un raspador de titiritero y tengo que insertar la información de la tarjeta de crédito. No tengo ningún problema para acceder a los campos Cvv y Expire, pero no puedo escribir en el campo de número de cc.
la entrada archivada dentro de iframe me gusta esto
<iframe src="bla bla bla my url" scrolling="no" name="FrameCCPay" id="FrameCCPay" frameborder="0" allowtransparency="true" style="width: 100px; height: 18px; border: none; margin: 0px; padding: 0px; min-width: 100%; overflow: hidden;"></iframe>En el documento del marco hay este código.
<div class="placePan"> <div class="input-container"> <input type="tel" autocomplete="off" spellcheck="false" name="482e7f7b-59aa-3f0d-bde7-8dcf6bcee7a7" class="cleavePan hasError" id="482e7f7b-59aa-3f0d-bde7-8dcf6bcee7a7" maxlength="24" placeholder="Numero Carta" style="display: inline-block;"> <input type="tel" autocomplete="off" spellcheck="false" class="cleavePan" id="482e7f7b-59aa-3f0d-bde7-8dcf6bcee7a7_bin" maxlength="24" placeholder="Numero Carta" style="display: none;"> </div> </div>Mi código de marionetas
const frame = getFrame(this.page, "FrameCCPay") await frame.waitForSelector(".placePan input") await frame.focus('.placePan input') await frame.type(".placePan input", mynumber)Este código funciona para el otro archivo como dije, y el archivo se hizo de la misma manera. La única diferencia es que cc umber tiene dos entradas archivadas con la misma clase (entrada .placePan), así que creo que aquí está el problema.
¿Puedo usar la función TIPO en el tipo de entrada correcto? ¿Cómo puedo excluir la entrada .placePan que está oculta?
Si cree que el problema es la entrada oculta, use un selector con un atributo que esté presente solo en la entrada necesaria: ".placePan input[name]" .