Necesito eliminar el atributo de value de este xpath. (En este ejemplo hay dos atributos de value ).
Creo el xpath en una cadena:
"xpath": "//iframe[@title=\"s='replaceable-modal-title'>Compléter mes entretiens</span><input type='hidden' id='assessDurationIdverif' value='2091' /><input type='hidden' id='employeeIdverif' value='1368' />\"]/html/body/div[2]/section/div/div[4]/div/form/div[2]/div/div[2]/div/div/textarea" Mi primera idea fue usar el método String#replace para reemplazar el valor del atributo con una cadena vacía:
string.replace(/value=(2091)/g,'test') Mi problema es que el atributo de value no tiene el mismo valor cuando actualizo la página.
Solo quiero saber cómo reemplazar genéricamente el número por un carácter indefinido.
Está en el camino correcto con String#replace y una expresión regular.
Para manejar el cambio de atributo de value cuando la página se vuelve a cargar, use la clase de carácter \d digit que representa cualquier carácter en 0-9 . El uso de \d* coincide con cero o más dígitos y \d+ coincide con uno o más dígitos.
Aquí hay un ejemplo que hace coincidir todos los atributos de value con dígitos en sus valores y reemplaza todo el atributo con una cadena vacía:
const foo = "//iframe[@title=\"s='replaceable-modal-title'>Compléter mes entretiens</span><input type='hidden' id='assessDurationIdverif' value='2091' /><input type='hidden' id='employeeIdverif' value='1368' />\"]/html/body/div[2]/section/div/div[4]/div/form/div[2]/div/div[2]/div/div/textarea"; const bar = foo.replace(/value='\d+'/g, ''); console.log(foo); console.log(bar);