我試圖創建一個包含某些網站資訊的不和諧嵌入。我試圖用硒存盤 driver.find_element.text 。
然后我想將該 python 變數放入一個嵌入不和諧的 json 代碼中。
問題是這個頁面的每個產品都給了我 3 個不同的文本。如何將每個變數保存在不同的變數中。我把我的代碼放在這里`
from selenium import webdriver
from selenium.webdriver.common.by import By
import csv
DRIVER_PATH = 'C:\chromedriver.exe'
driver = webdriver.Chrome(executable_path=DRIVER_PATH)
driver.get('https://www.zalando.es/release-calendar/zapatillas-mujer/')
product_1 = driver.find_element(By.XPATH, '//*[@id="release-calendar"]/div/div[1]/div')
print(product_1.text)
終點站的結果是 119,95€ adidas Originals Forum MID TM 28 de octubre de 2022, 8:00 Recordármelo
感謝您的幫助,我真的不知道如何將 .text 資訊保存到不同的 python 變數中。
uj5u.com熱心網友回復:
將文本存盤在變數或
element_text = product_1.text
element_text_split = element_text.split() # split by space
如果您想要該商品的價格:element_text_split[0]會得到第一個字
第二個字element_text_split[1]是公司
您還可以使用string slicing對字串進行切片。請記住,并非您獲得的所有資料看起來都完全相同。
uj5u.com熱心網友回復:
這是我過去使用過的,但假設您有一個要提取的特定元素屬性:
例如:
element_text = driver.find_element(By.XPATH, '//*[@id="release-calendar"]/div/div[1]/div').get_attribute('title')
您需要將 'title' 替換為包含所需文本的元素中的特定屬性。
uj5u.com熱心網友回復:
所以,您正試圖在頁面上獲取每個產品的文本,對嗎?
如果是這樣,您可以使用find_elements()方法將頁面上的所有產品放入串列中。為此,您需要使用一個 xpath(或任何其他定位器)來查找不是一個元素而是所有元素。
這是代碼
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.zalando.es/release-calendar/zapatillas-mujer/')
# This finds all products on the page and puts them into a list of elements:
products = driver.find_elements(By.XPATH, '//div[@]')
# This will put text of each product into a list
texts = []
for product in products:
texts.append(product.text)
# Here we can see what is in the list of texts
print('All texts:', texts)
# If list doesn't suite your needs, you can unpack the list into three variables
# (only if you are sure that there are only three items on the page):
prod1, prod2, prod3 = texts
print('Product 1:', prod1)
print('Product 2:', prod2)
print('Product 3:', prod3)
driver.quit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/522194.html
