我是Python的新手-请先感谢您的耐心等候。
我有一个客户评论网站,我想从中获得评论者提供给提供商的5颗星
在下面的示例中,审阅者给了提供者5分1星。我希望能够从下面拉出“ 1”
<div class="rvw__hdr"> <div class="rvw__hdr-stat" itemtype="http://schema.org/Rating" itemscope="" itemprop="reviewRating">
<meta itemprop="worstRating" content="1"> <img data-rating="1.0" src="//media.consumeraffairs.com/static/img/icons/stars/stars-1.a9f9f49815b7.svg" alt="Rated with 1 star" class="stars-rtg stars-rtg--sm"> <meta itemprop="ratingValue" content="1"> <meta itemprop="bestRating" content="5"> </div> </div>
我已经花了几个小时。 我最近的是:
rating = driver.find_elements_by_xpath('//div[@class="rvw__hdr-stat"]')
num_page_items = len(rating)
for i in range(num_page_items):
print (rating[i].text)
这将返回空 当我省略.text时,页面上的30条评论中的每条评论都会返回对象,其中之一如下:
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="271fc297-c03f-42b2-a680-2b5dd5656227", element="e1066956-81f4-4203-a2ae-5d3cdd95789a")>
对于如何将其转化为我想要的内容,我一无所知,这是审阅者提供的实际评分
我尝试了driver.find_elements_by _....的其他变体,但是没有运气
在此先感谢您的帮助。
答案 0 :(得分:0)
要获得总体评级,可以从div标签的属性中获取
overall_rating = driver.find_element_by_css_selector("div.stars-rtg")
print(overall_rating.get_attribute("data-rating"))
要在首页上获得所有消费者评论评分,可以从img标签的属性中获取。
ratings = driver.find_elements_by_css_selector("img.stars-rtg")
ratings_value = [rating.get_attribute("data-rating") for rating in ratings]
print(ratings_value)