Доработка скрипта кликера при достижении определенного значения
Есть страница, с примерно таким кодом:
<tbody id="birr">
<tr class="tr_birr">
<td>...</td>
<tr class="tr_birr">
<td>...</td>
<tr class="tr_birr">
<td>...</td>
<tr class="tr_birr" height="30">
<td>...</td>
<td>...</td>
<td>...</td>
<td align="right">
<b>600 руб.</b>
</td>
</tbody>
Задача, получить сумму между тегами "b сумма /b", и при условии превышения этой суммы, например 700, делать клик.
Есть вот такой код:
const el = document.getElementsByTagName('b');
let waiting = setInterval(() => {
const bir = +el.innerText;
if (bir >= 700) {
document.getElementsByClassName('it')[1].click();
//clearInterval(waiting);
}
else if(bir < 700) {
//clearInterval(waiting);
document.getElementsByClassName('it')[0].click();
}
}, 2000);
Он не работает, видимо не видит сумму, потому что если получать значение по id все норм, но нужно брать значение именно между тегами b. Попытки получить сначала id и потом тег этого id тоже не увенчались, успехом, хотя все опробованные команды возвращают нужное значения между тегами b, помогите разобраться) P.S. Количество tr и td постоянно меняется...
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
const bir = parseFloat(document.querySelector('td b').textContent);
let str = '600 руб.';
let num = parseFloat(str);
console.log(str, '->', num);