Итак, есть много вопросов, которые были заданы по поводу динамического парсинга контента в stackoverflow, и я прошел все это, но все предложенные решения не сработали для следующей проблемы:
Контекст:
- Использование Selenium webdriver с Python
- В основном я использовал этот ресурс: http://selenium-python.readthedocs.org/page-objects.html относительно примера Python.org.
- Страница для очистки: http://propertymap.sfplanning.org/
Проблема:
Мне не удалось получить доступ ни к одному из элементов DOM на этой странице. Обратите внимание, если бы я мог получить несколько подсказок о том, как получить доступ к панели поиска и кнопке поиска, это было бы отличным началом. См. страницу для очистки В конечном итоге я хочу просмотреть список адресов, запустите поиск и скопируйте информацию, отображаемую в правой части экрана.
Я пробовал следующее:
- Сменил браузер для webdriver (с Chrome на Firefox)
Добавлено время ожидания загрузки страницы
try: WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "addressInput"))) except: print "address input not found"
- Пытался получить доступ к элементу по ID, XPATH, NAME, TAG NAME и т. Д., Ничего не вышло.
Вопросы
- Что еще я мог попробовать, чего у меня еще не было (используя Selenium webdriver)?
- Неужели некоторые веб-сайты невозможно очистить? (Я не думаю, что город использовал алгоритм для генерации случайной модели DOM каждый раз, когда я перезагружаю страницу).
find_by_*
), чтобы найти элемент. (в принятом ответе выбраноfind_element_by_id
). Также обратите внимание, что нажатие клавиши Enter для обхода поиска элемента и имитации щелчка на практике оказывается быстрее и надежнее. - person Corey Goldberg   schedule 30.03.2016