Согласно HTML, которым вы поделились:
<span class="good">€25,217.65</span>
Текст 25 217,65 € - это внутренний HTML.
Итак, вы можете извлечь текст 25 217,65 € , используя:
w.get_attribute("innerHTML")
- текст атрибут.
Теперь, чтобы получить значение 25 217,65 € в виде числа вместо текста, вам нужно:
Удалить символы €
и ,
используя re.sub()
:
import re
string = "€25,217.65"
my_string = re.sub('[€,]', '', string)
Наконец, чтобы преобразовать строку в float , вам нужно передать строку в качестве аргумента в float()
следующим образом:
my_number = float(my_string)
Итак, вся операция в одной строке:
import re
string = "€25,217.65"
print(float(re.sub('[€,]', '', string)))
Фактически, ваша строка кода может быть любой из следующее:
Используя текст атрибут:
cell[withdrawal_cell].value = float(re.sub('[€,]', '', w.text))
Используя get_attribute("innerHTML")
:
cell[withdrawal_cell].value = float(re.sub('[€,]', '', w.get_attribute("innerHTML")))