Я работаю над своим первым скребком и столкнулся с проблемой. Мой скребок обращается к веб-сайту и сохраняет ссылки на каждой странице результатов. Теперь я хочу, чтобы он прошел через 10 страниц. Проблема возникает, когда результаты поиска имеют менее 10 страниц. Я попытался использовать цикл while вместе с инструкцией try, но, похоже, не работает. После того, как скребок проходит первую страницу результатов, он не возвращает никаких ссылок на последовательные страницы; однако он не дает мне ошибку и останавливается, когда он достигает 10 страниц или исключение.Скребок: Попробуйте пропустить код во время цикла (Python)
Вот отрывок из моего кода:
links = []
page = 1
while(page <= 10):
try:
# Get information from the propertyInfo class
properties = WebDriverWait(driver, 10).until(lambda driver: driver.find_elements_by_xpath('//div[@class = "propertyInfo item"]'))
# For each listing
for p in properties:
# Find all elements with a tags
tmp_link = p.find_elements_by_xpath('.//a')
# Get the link from the second element to avoid error
links.append(tmp_link[1].get_attribute('href'))
page += 1
WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath('//*[@id="paginador_siguiente"]/a').click())
except ElementNotVisibleException:
break
Я действительно ценю любые указатели о том, как решить эту проблему.
Это частично помогло. Я думаю, что у меня большая проблема с самим сайтом, который разрушает мой код. Скоро я обновлю. Благодарю. –