【发布时间】:2019-12-03 02:46:36
【问题描述】:
我正在尝试从应用商店的 xpath 上方提取图像:https://apps.apple.com/us/app/mercer-marketplace-benefits/id1041417557
我使用 xpath 尝试了以下代码:
driver.get('https://apps.apple.com/us/app/mercer-marketplace-benefits/id1041417557')
rating_distr = WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH, """(//*[@id="ember290"]/div/div[2])""")))
print(rating_distr.get_attribute('innerHTML'))
但是输出的不是图片:
<figure class="we-star-bar-graph">
<div class="we-star-bar-graph__row">
<span class="we-star-bar-graph__stars we-star-bar-graph__stars--5"></span>
<div class="we-star-bar-graph__bar">
<div class="we-star-bar-graph__bar__foreground-bar" style="width: 76%;"></div>
</div>
</div>
<div class="we-star-bar-graph__row">
<span class="we-star-bar-graph__stars we-star-bar-graph__stars--4"></span>
<div class="we-star-bar-graph__bar">
<div class="we-star-bar-graph__bar__foreground-bar" style="width: 12%;"></div>
有没有办法将输出提取为图像?感谢您的帮助!
【问题讨论】:
-
您想要 5 条开始评论的数量还是 %?
-
希望我能得到两张图片。 xpath 用于 %。
-
这些标签没有图片来源。您可以使用这些元素周围的坐标拍摄 selenium 屏幕截图。看看这个解决方案 - stackoverflow.com/questions/13832322/…
-
你并不真的想要一张图片,对吧?您只需要“图像”包含的信息。如果您只是解析出实际包含星值的类名和样式,例如,您会得到更好的服务(并且会更快)。
we-star-bar-graph__stars--5为 76%,we-star-bar-graph__stars--4为 12%。将所有内容转储到工作表中,这比转储大量屏幕截图并通过手动打开每个屏幕截图、检查然后记录值来将其全部整理出来要快得多。 -
@JeffC 有没有更好的方法来提取“图像”中的内容?因为我的输出包含很多
标签: python selenium xpath figure