Как вы извлекаете текст в атрибуте dd без имени, используя селен и питон? - PullRequest
1 голос
/ 29 сентября 2019

У меня есть веб-страница со значением dd.Вот код:

<dd itemprop="youSave" 
class="saleprice pricingSummary-priceList-value" 
style="width: 50%; height: 20px; text-align: left; padding-left: 8px; line-height: 16px;">
$467.99</dd>

Как вытащить цену ($ 467,99), используя селен и питон, а также убрать знак доллара?

Вот мой текущий код, который извлекает цену, ноневозможно получить атрибут:

try:
    while True:
        price_saved = driver.find_elements_by_xpath("//dl[@class='dl']//dd")
        print("ok")
        saved_print = price_saved.get_attribute("*Don't know what to put here*")
        print("k")
        print(saved_print)
        i = i + 1
except:
    print("failed")

1 Ответ

1 голос
/ 29 сентября 2019

Вот некоторые возможности в зависимости от общего HTML

#class selector

driver.find_element_by_css_selector('.pricingSummary-priceList-value').text.replace('$','')

#attribute selector
driver.find_element_by_css_selector('[itemprop=youSave]').text.replace('$','')

#combined
driver.find_element_by_css_selector('[itemprop=youSave].pricingSummary-priceList-value').text.replace('$','')

#combined with type selector
driver.find_element_by_css_selector('dd[itemprop=youSave].pricingSummary-priceList-value').text.replace('$','')

Пример с пониманием списка, если требуется несколько совпадений (find_elements возвращает список):

[i.text.replace('$','') for i in driver.find_elements_by_css_selector('[itemprop=youSave]')]

класс быстрее, чемтип, который быстрее, чем атрибут.Более короткие комбинации могут быть быстрее, чем длинные, в некоторой степени зависящие от правил, приведенных ранее и порядка, но это выходит за рамки этого.

Я использовал один класс многозначного класса.Вы можете добавить в другой класс

driver.find_element_by_css_selector('.saleprice.pricingSummary-priceList-value').text.replace('$','')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...