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

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

Войти через центр авторизации
Похожие вопросы