我試圖讓 selenium通過 xpath在這個站點上找到一個元素(下面串列中的一個):
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
driver.execute_script('window.scrollBy(0, 2000)')
folder = driver.find_element(By.XPATH,'//*[@id="__next"]/div[1]/main/div/div/div[3]/div/div[1]/div/div[3]/div[3]/div/div[2]/div[15]/button/div/div[2]/div/div/div/div[2]/span[2]/a')
print(folder)
但我收到一個錯誤:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="__next"]/div[1]/main/div/div/div[3]/div/div[1]/div/div[3]/div[3]/div/div[2]/div[15]/button/div/div[2]/div/div/div/div[2]/span[2]/a"}
我知道反應制作的網站,但我沒有設法獲得該元素。謝謝
uj5u.com熱心網友回復:
從 PersianMans 的回答結合 webdriver 等待,您可以讓您的程式等待元素出現。等等 10 秒。
wait=WebDriverWait(driver, 10)
url="https://opensea.io/collection/mekaverse?tab=activity&search[isSingleCollection]=true&search[eventTypes][0]=AUCTION_CREATED"
driver.get(url)
folder=wait.until(EC.presence_of_element_located((By.XPATH,"//div[@role='listitem']//a[contains(@href,'assets')]")))
print(folder)
進口
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
uj5u.com熱心網友回復:
為什么不使用 xpath 功能?
//div[@role='listitem']//a[contains(@href,'assets')]
右鍵單擊節點并單擊復制 xpath沒有用,您必須使用 xpath 查詢在元素中進行搜索
folder = driver.find_element(By.XPATH,"//div[@role='listitem']//a[contains(@href,'assets')]")
在使用 xpath 搜索之前檢查頁面中的所有元素是否已加載(wait.until)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324940.html
上一篇:將溫度轉換為int
