Задать вопрос
Ответы пользователя по тегу Автоматизация
  • Почему происходит Блокировка доступа при использовании Selenium для парсинга?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Использую официальный ChromeDriver (версия соответствует браузеру).

    Разумеется, в ином случае вы пришли бы с другой ошибкой.
    Скрипт имитирует человеческое поведение:
    Добавлены задержки между действиями.

    Между какими действиями?
    VPN и прокси не используются.

    Печально.
    Какие технические требования Ozon к автоматизированным запросам?

    Не selenium + имитация человеческих действий + нормальный прокси.
    Возможно ли получить API-доступ для таких задач?

    Для каких? https://docs.ozon.ru/api/
    Как легально реализовать сбор данных для личного использования?

    Только через открытый api, все остальное - нарушение закона.
    Ответ написан
    1 комментарий
  • Как получить ссылку на покупку определенного лота на csmoney и совершить покупку через python?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    На сайте нельзя сгенерировать api ключ и нет документации . И я вот думаю как совершить эту покупку через скрипт, если нет апи. То есть как совершить покупку?

    Либо руками, либо ботом. Т.к. сайт динамический, то для бота придётся использовать фреймворк по типу Selenium.
    Ответ написан
    Комментировать
  • Как решить проблему с автоматическим решением капчи в selenium?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
    (Session info: chrome=120.0.6099.130); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/t...

    Изучаем ссылку, скорее всего, либо обновление dom, либо неправильная работа с контекстом. Чтобы понять, что dom изменился - достаточно получить элемент еще раз, тут проблем нет, а вот с контекстом интереснее:
    if driver.find_elements(By.CSS_SELECTOR, 'div.captchaContainer_c3b486 iframe'):
        hcaptcha_iframe = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'div.captchaContainer_c3b486 iframe')))
    
        # Переключили контекст на фрейм.
        driver.switch_to.frame(hcaptcha_iframe)
    
        # Не верно! Мы сменили контекст на hcaptcha_iframe,
        # в нашем новом контексте нет элемента, на который ссылается hcaptcha_iframe,
        # а значит, оптимальнее обратиться к driver.
        #
        # site_key = hcaptcha_iframe.get_attribute('src').split('sitekey=')[1].split('&')[0]
    
        # Вот теперь правильно.
        site_key = driver.find_element(By.TAG_NAME, 'iframe').get_attribute('src').split('sitekey=')[1].split('&')[0]
    
        driver.switch_to.default_content()
    Ответ написан
    Комментировать
  • Разница между Puppeteer и Selenium Python?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Автоматическое переподключение мобильного интернета для андроид?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Я решил этот вопрос посредством написания микро-сервиса, с делегированием ему данных задач (сменой ip и выходом в сеть с указанными параметрами машины/браузера), через мобильные модемы: устройство > микро-сервис > сеть.
    Ответ написан
    Комментировать