По клику посчитать сумму "значения поля" + 0.01 и вставить в поле
в Selenium
хочу написать скрипт - при клике по кнопке в текстовом поле должно посчитаться значение поля
+ 0.01
Делаю вот так
CHROME_BROWSER.ExecuteScript(
"arguments[0].addEventListener('click', () => {arguments[1].value = Number(arguments[1].getAttribute('value')) + 0.01});",
{EL_PLUS, EL_НДС}
)
но в текстовое поле вставляется только 0.01
arguments[0] = EL_PLUS
(это кнопка)
arguments[1] = EL_НДС
(это текстовое поле)
Подскажите пожалуйста как это правильно написать
Сделал вот так сумму считает теперь
CHROME_BROWSER.ExecuteScript(
"arguments[0].addEventListener('click', () => {summa = parseInt(arguments[1].value) + 0.01; arguments[1].value = summa;});",
{EL_PLUS, EL_НДС}
)
но теперь другая проблема: если в поле 3,5
, то должно получится 3,5 + 0,01 = 3,51, а в поле вставляется 3,01
подскажите пожалуйста как это исправить
Ответы (1 шт):
Автор решения: Сергей
→ Ссылка
Решено
CHROME_BROWSER.ExecuteScript("arguments[0].addEventListener('click', () => {summa = Number(arguments[1].value.replaceAll(' ', '')) + 0.01; arguments[1].value = summa.toFixed(2); arguments[1].dispatchEvent(new Event('input', { bubbles: true }));});", {EL_PLUS, EL_НДС})
считает сумму, округляет, вставляет в поле и принудительно обновляет поле