Задать вопрос
@ReDeNDeR

Парсер не работает у заказчика что делать?

Добрый день, я сделал парсер ссылок для гугл карты, но он не работает у заказчика. В видео вы можете примерно понять как он должен работать он парсит ссылки из левого блока. Это видео прислал заказчик у меня ссылки парсятса и вставляются в текстовый документ но у заказчика нет. Огромная спасибо за помощь

Код программы:
from selenium import webdriver
from time import sleep
from selenium.webdriver.chrome.options import Options

driver = webdriver.Chrome()

driver.get('https://www.google.ru/maps/')

Search = input('Search: ')

driver.find_element_by_xpath("//input[@id='searchboxinput']").send_keys(Search + '\n')
sleep(5)

while True:
    try:
        driver.find_element_by_xpath("//div[@class='section-result-text-content']").click()
        break
    except:
        sleep(0.1)

num = -1
number = 1
list = []
sleep(5)
while True:
    #print(driver.find_element_by_xpath("//div[@class='section-layout section-layout-root'][1]/div/div/div/div/div/div").get_attribute('class'))
    #driver.find_element_by_xpath("//div[@class='section-layout section-layout-root'][1]/div/div/div/div/div/div").click()
    while True:
        try:
            a = driver.find_elements_by_xpath("//div[@class='section-carousel-item-container'][1]/div[" + str(number) + "]")
            break
        except:
            sleep(0.1)
            
    number = 1 + number
    for i in a:
        num = num + 1
        list.append(i.get_attribute('aria-label'))
    
    click = 0
    while True:
        try:
            #print(driver.find_element_by_xpath("//div[@aria-label='" + str(list[num]) + "'][1]/div[2]"))
            driver.find_element_by_xpath("//div[@aria-label='" + str(list[num]) + "'][1]/div[2]").click()
    #driver.find_element_by_xpath("//div[@class='rLwmCGCu6mP__image-container']").click()
            break
        except:
            sleep(0.1)
            click = click + 1

    sleep(3)    
    links = 0
    file = open('Map_links.txt', 'a')
    while links != 1:
        try:
            
            file.write(driver.find_element_by_xpath("//button[@data-tooltip='Open website']").get_attribute('aria-label') + '\n')
            print(driver.find_element_by_xpath("//button[@data-tooltip='Open website']").get_attribute('aria-label'))
            break
        except:
            sleep(1)
            links = 1 +links
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Простой 15 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
@dEN__5
почему-бы не использовать вместо
driver = webdriver.Chrome()
это
river = webdriver.Chrome(chrome_options=options, executable_path=ChromeDriverManager().install())

также добавьте импорт
from webdriver_manager.chrome import ChromeDriverManager
Ответ написан
sanya84
@sanya84
Фанатик Python 3
Может драйвер не совместим с браузером?
Версия вашего драйвера
chromedriver_version
не совпадает с версией браузера заказчика.
Ответ написан
solotony
@solotony
покоряю пик Балмера
смотри все что отличается на машине заказчика и на твоей. причин может быть 100500. особенно учитывая что selenium использует разные конфиги у тебя и у заказчика. Например разные региональные настройки, ты залогинен он нет и т.д.
Ответ написан
Комментировать
@organica
у меня такая хрень была из-за неправильной версии Хрома/Драйвера. Спроси у своего заказчика версию хрома или пусть запустит скрипт через консоль, там сразу ошибку увидишь эту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽