Как можно доработать данный скрипт? Проблема в том, что парсится только одна страница. Как можно перейти на следующую страницу и там тоже сохранить тел.?
from selenium import webdriver
from time import sleep
from PIL import Image
from pytesseract import image_to_string
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class Bot:
def __init__(self):
self.driver = webdriver.Firefox()
self.navigate()
wait = WebDriverWait(self.driver, 10)
def take_screenshot(self):
self.driver.save_screenshot('avito_screenshot.png')
def tel_recon(self):
image = Image.open('tel.png')
print(image_to_string(image))
f = open('number.txt', 'a')
f.write(image_to_string(image)+ '\n')
f.close()
def crop(self, location, size):
image = Image.open('avito_screenshot.png')
x = location['x']
y = location['y']
width = size['width']
height = size['height']
image.crop((x, y, x+width, y+height)).save('tel.png')
self.tel_recon()
def navigate(self):
self.driver.get('https://www.avito.ru/volgogradskaya_oblast_volzhskiy/avtomobili/gaz_gazel_2747_2007_1903589701')
button = self.driver.find_element_by_xpath('//a[@class="button item-phone-button js-item-phone-button button-origin contactBar_greenColor button-origin_full-width button-origin_large-extra item-phone-button_hide-phone item-phone-button_card js-item-phone-button_card contactBar_height"]')
button.click()
sleep(15)
self.take_screenshot()
image = self.driver.find_element_by_xpath('//div[@class="item-phone-big-number js-item-phone-big-number"]//*')
location = image.location # dict {'x': 2343, 'y': 23423}
size = image.size # dict {'width': 234, 'height': 234}
self.crop(location, size)
def main():
b = Bot()
if __name__ == '__main__':
main()
Пробовал явное ожидание, wait, циклы.