【发布时间】:2019-09-16 09:16:18
【问题描述】:
该部分的HTML是:
<div class="review-small-text">
<span class="stars-rate">
<span property="starsRating">
<i class="fa fa-star-yellow fa-star"></i>
<i class="fa fa-star-yellow fa-star"></i>
<i class="fa fa-star-yellow fa-star"></i>
<i class="fa fa-star-yellow fa-star"></i>
<i class="fa fa-star-yellow fa-star"></i>
</span>
</span>
<span property="reviewRating" typeof="Rating" style="display:none;">
<span property="ratingValue">5</span>
<span property="bestRating">5</span>
<span property="worstRating">0</span>
</span>
<span property="itemReviewed" typeof="Service" class="">Liposuction</span> </div>
我正在尝试使用 selenium 提取特定评论的 第二跨度 ratingValue,并且我尝试使用此 css 选择器来提取该值:
'div.review-small-text>span:nth-of-type(2)>span:nth-of-type(1)'
但它给了我一个空字符串。 这个也试过了
'div.review-small-text>span:nth-child(2)>span:nth-child(1)'
所以我认为问题不在于 css-selector。不显示在这里会造成问题。 是否有任何可能的方法来提取该值?
目前我尝试过的Python源代码是:
from selenium import webdriver
import time
url = "myurlhere"
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
all_reviews_listings = driver.find_elements_by_xpath("//div[@id='tab_reviews']/div[@class='provider_all_Reviews']/div[@id='pnlReviews']/div")
for review in all_reviews_listings:
review_rating = review.find_element_by_css_selector('div.review-small-text>span:nth-of-type(2)>span:nth-of-type(1)').text
print("Review Rating: ", review_rating)
【问题讨论】:
-
您是否尝试从
property="ratingValue"中提取5? -
是的 DebanjanB 先生
标签: javascript python-3.x selenium-webdriver css-selectors display