Nano Hash - криптовалюты, майнинг, программирование

WebDriver, Python: как поймать динамическое обновление URL с соответствующим значением и сохранить его в переменной

код веб-драйвера python/selenium:

elem = driver.find_element_by_css_selector("#username")
elem.send_keys("username")
elem = driver.find_element_by_css_selector("#password")
elem.send_keys("password")

driver.implicitly_wait(2) #seconds
elem = driver.find_element_by_css_selector("button")
elem.click()

def condition(driver):
    look_for = ("url_which_contains_this_text")
    url = driver.current_url
    for look_for in url:
        if url.find(look_for) != -1:
            print url

    return url

#page_url = driver.current_url
print url

В этом коде: 1) логин пользователя; 2) нажмите кнопку «Войти»; И тогда мне нужно каким-то образом поймать URL-адрес, который динамически меняется каждую секунду (загружается токен доступа и т. д.), и поймать URL-адрес, который содержит значение «example_id=", и сохранить этот URL-адрес в переменной и распечатать.

Кто-нибудь может мне помочь?


  • вы хотите определить фактический URL-адрес веб-страницы, которая открывается после успешной авторизации? 18.02.2016
  • После нажатия кнопки входа в систему перед загрузкой страницы панели управления возвращается пара URL-адресов. Мне нужно поймать один из них, который будет содержать значение example_id=. 18.02.2016

Ответы:


1

Я не уверен, что это сработает, так как я не могу это проверить, но вы можете попробовать что-то вроде этого:

required_url = ""
while True:
    current_url = driver.current_url
    if "example_id=" in current_url:
        required_url = current_url
        print('\n'+required_url)
        break
    else: print(current_url)
18.02.2016
  • Неплохое решение, но… проблема в том, что target_url — это динамический URL, который генерируется динамически. И у меня нет статического значения этого URL. 18.02.2016
  • Так что оставьте только первый оператор if :) 18.02.2016
  • Хорошо, когда я использую эту часть кода (сначала if). ничего не возвращает. и я не могу ничего печатать. nameError: имя «current_url» не определено 18.02.2016
  • Это все еще требует небольших исправлений, но это работает! большое спасибо :) 18.02.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..