Задать вопрос
@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
  • Вопрос задан
  • 327 просмотров
Подписаться 1 Простой 15 комментариев
Пригласить эксперта
Ответы на вопрос 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
у меня такая хрень была из-за неправильной версии Хрома/Драйвера. Спроси у своего заказчика версию хрома или пусть запустит скрипт через консоль, там сразу ошибку увидишь эту.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы