как извлечь номер из 'ui_bubble_rating bubble_50' с помощью селена - PullRequest
0 голосов
/ 27 августа 2018

Я использую селен для очистки отзывов с tripadvisor.com.Я не нашел правильного способа извлечь все оценки, сделанные пользователями: "ui_bubble_rating bubble_50", 50 = 5 звездочек.

<span class="ui_bubble_rating bubble_50"></span>
::before==$0
::after==$0

Есть ли способ извлечь число с помощью селена?Кто-нибудь знает, пожалуйста, помогите отметить большое спасибо.

Я попробовал код ниже, но xpath не может найти нужное мне значение.Он предоставил только одну звездную оценку, которая одинакова для всех обзоров.

var = driver.find_element_by_xpath("//span[contains(@class, 'ui_bubble_rating bubble_')]").get_attribute("class")

Мне нужен звездный рейтинг каждого обзора, пожалуйста, посмотрите на фото ниже, что мне нужно.Спасибо

Привет.Я наконец решил свою проблему.Большое вам спасибо за ваше время.Я просто положил ответ здесь на случай, если кому-то понадобится.

var = driver.find_element_by_class_name('ui_bubble_rating').get_attribute('class')
review_rating = var.split("_")[-1]

1 Ответ

0 голосов
/ 27 августа 2018
  1. Получить значение имени класса и сохранить в 'var'
  2. разделить имя класса, используя подчеркивание, и он вернет массив с разделенной строкой
  3. значение доступа в последнем индексемассив 'data' будет содержать такие элементы, как "ui", "bubble", "rating bubble", "50"

     var = driver.
             find_element_by_xpath("//span[contains(@class, 
                   'ui_bubble_rating bubble_')]").get_attribute("class")
    data = var.split("_")
    print data[-1]
    
...