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”]')))'。 –