0
我想用selenium和python來抓取一些數據。我有一個鏈接列表,我必須通過每個鏈接。我現在做的是以下幾點:等待頁面加載硒,Python。所有的頁面都有相同的結構
for link in links:
self.page_driver.get(link)
time.sleep(5)
#scrape data
它工作得很好,問題是,我有很多的聯繫,並等待5秒,每一個都是在浪費時間。這就是爲什麼我決定嘗試的東西,如:
self.driver.get(link)
try:
element_present = EC.presence_of_element_located((By.CLASS_NAME, 'cell-box'))
WebDriverWait(self.driver, 10).until(element_present)
except TimeoutException:
logging.info("Timed out waiting for page to load")
的問題是,每一個環節都具有完全相同的結構中,只有數據變化,所以元素被發現,即使頁面沒有改變。我想要做的是將產品名稱保存在鏈接中的變量中,更改頁面等到產品名稱與保存的名稱不同,這意味着新頁面已加載。任何幫助將非常感激。
我想你的解決方案,但'wait.until(EC.staleness_of(元)'引發TimeoutException異常。也許我做錯了什麼。我想這些頁面到scrapy類似於這個:[鏈接](http://www.maijia.com/index.html#/shop/item/?itemId=45302792713)和我在裏面的try語句:'element = wait.until (EC.presence_of_element_located((By.XPATH,'// * [@ id =「module-shop-item」]')))'。 –