Como parte de mi prueba de nightwatchjs, lo que me gustaría hacer es obtener el atributo de un elemento, luego establecer este valor de atributo en un valor diferente.
Aquí está el fragmento de HTML;
Entonces, antes que nada, me gustaría obtener el valor del atributo data-page-view-threshold , que debería ser '3' y generar esto para saber que estoy interactuando con el elemento correcto.
Actualmente, mi código se ve así;
module.exports = { 'Navigate to an homepage': function (browser, document) { browser.url(browser.launch_url); browser.pause(5000); browser.execute(function() { return document.getElementById('#newsletterSignup').getAttribute('data-page-view-threshold'); }, [ ], function callback(result) { console.log('Result from execute', result); }); }, 'Closing the browser': function (browser) { browser.browserEnd(); }, };Sin embargo, cuando ejecuto esto, aparece el siguiente error;
Error while running .executeScript() protocol action: An error occurred while executing user supplied JavaScript. – javascript error: Cannot read properties of null (reading ... Result from execute { status: -1, state: '', code: '', value: { message: "javascript error: Cannot read properties of null (reading 'getAttribute')", error: [ ' (Session info: chrome=95.0.4638.69)', ' (Driver info: chromedriver=95.0.4638.54 (d31a821ec901f68d0d34ccdbaea45b4c86ce543e-refs/branch-heads/4638@{#871}),platform=Mac OS X 11.6.1 x86_64)' ] }, errorStatus: 17, error: 'An error occurred while executing user supplied JavaScript. – javascript error: Cannot read properties of null (reading ...', httpStatusCode: 200 } Pensé que esto obtendría el valor de '3' del atributo data-page-view-threshold , pero devuelve un valor nulo .
¿Estoy usando el código correcto para 'extraer' este atributo, o hay algo obvio que estoy haciendo mal con esto? Gracias