![](/img/trans.png)
[英]Python : Get word from string where substring is present in string
[英]How to get string from a list if a substring is present
我試圖在點擊時獲取產品的圖像,因為它們的分辨率更高。 到目前為止,我有這個代碼:
start = soup(d.page_source, 'html.parser') # d is the driver
while start.find('div', {'class': 'gallery-images'}) is None:
start = soup(d.page_source, 'html.parser')
product_images = [i.find('img', {'alt': 'Mirror Embellished Scuba Skirt'}).src for i in
start.find_all('div', {'class': 'gallery-images'})]
但是,它說 nonetype 沒有對象 src。 start.find_all 返回其內部級聯的所有元素的列表。
編輯:網頁: https : //www.michaelkors.com/mirror-embellished-scuba-skirt/_/R-US_MU97EYCBGL
編輯 2:我有 alt 的硬編碼值。 Pagescrapy 調用沒有具有此特定值的 alt。 但是當我刪除 alt 時,它也沒有返回任何東西
這是代碼。它返回我的src
值。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
driver = webdriver.Chrome()
driver.get("https://www.michaelkors.co.uk/")
search_ele=WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'.search-link[title="Search"]')))
search_ele.click()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'input#search-box'))).send_keys('mirror-embellished-scuba-skirt')
element=WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'button.search-icon-btn')))
driver.execute_script("arguments[0].click();", element)
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'a[title="Mirror Embellished Scuba Skirt"]'))).click()
time.sleep(3)
soup=BeautifulSoup(driver.page_source,'html.parser')
product_images=[]
for i in soup.find_all('div', class_='gallery-images'):
for img in i.select('img[alt="Mirror Embellished Scuba Skirt"]'):
product_images.append(img['src'])
print(product_images)
輸出:
['//michaelkors.scene7.com/is/image/MichaelKors/MU97EYCBGL-0001_1?wid=558&hei=748&op_sharpen=1&resMode=sharp2&qlt=90', '//michaelkors.scene7.com/is/image/MichaelKors/MU97EYCBGL-0001_2?wid=558&hei=748&op_sharpen=1&resMode=sharp2&qlt=90', '//michaelkors.scene7.com/is/image/MichaelKors/MU97EYCBGL-0001_3?wid=558&hei=748&op_sharpen=1&resMode=sharp2&qlt=90', '//michaelkors.scene7.com/is/image/MichaelKors/MU97EYCBGL-0001_1?wid=1300', '//michaelkors.scene7.com/is/image/MichaelKors/MU97EYCBGL-0001_2?wid=1300', '//michaelkors.scene7.com/is/image/MichaelKors/MU97EYCBGL-0001_3?wid=1300']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.