我有以下网页https://www.skroutz.gr/s/15013958/Hasbro-Monopoly-Classic-Game.html我想从中获取每个卖家的价格、可用性、卖家名称。
它们作为 div 位于列表元素内,因此我执行了以下操作
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome('C:\\chromedriver.exe')
browser.get("https://www.skroutz.gr/s/15013958/Hasbro-Monopoly-Classic-Game.html")
time.sleep(1)
elem = browser.find_element_by_tag_name("body")
no_of_pagedowns = 20
while no_of_pagedowns:
elem.send_keys(Keys.PAGE_DOWN)
time.sleep(0.2)
no_of_pagedowns-=1
post_elems = browser.find_elements_by_css_selector(".card.js-product-card")
for post in post_elems:
print(post.text)
到目前为止,我将数据作为整个文本而不是 div。如何获取每个帖子的价格、可用性和卖家
我要不要做以下事情?或者有没有更正确的方法?
for post in post_elems:
prices = browser.find_elements_by_css_selector(".price")
sellers = browser.find_elements_by_css_selector(".shop-name")
availability = browser.find_elements_by_css_selector("p.availability")
您可以使用post
元素来定位数据,它只会找到属于特定帖子的数据
data = []
for post in post_elems:
price = post.find_element_by_css_selector(".price").text
seller = post.find_element_by_css_selector(".shop-name").text
availability = post.find_element_by_css_selector("p.availability").text
# add to list of lists
data.append([price, seller, availability])
# print
print(f'price: {price} seller: {seller} availability: {availability}')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句