Манипулирование исходным кодом html стороннего веб-сайта с использованием python

Когда я проверяю элемент веб-сайта (предупреждения Google: https://www.google.com/alerts ) Я ввожу имя и нажимаю «Дополнительные параметры». Когда я проверяю элемент этой страницы на наличие одной из кнопок, таких как «Как часто», я замечаю, что в исходном коде HTML:

<div class="goog-inline-block goog-flat-menu-button-caption" id=":3" role="option" aria-setsize="3" aria-posinset="2">At most once a day</div>

Если я вручную редактирую «Не чаще одного раза в день» на точный текст другого варианта (через моего инспектора) (например, я набираю: «Не чаще одного раза в неделю», это фактически создает изменение на веб-сайте. Поэтому я было любопытно, есть ли способ в python (может быть, через селен или красивый суп) фактически редактировать html-код стороннего веб-сайта для создания таких изменений?Если нет, я изо всех сил пытаюсь найти способ изменить это падение Выбор кнопки вниз с использованием селена и будет признателен за любые идеи.

Спасибо!


person Jay Ocean    schedule 22.09.2015    source источник


Ответы (2)


Существует Python-клиент API оповещений Google — galerts. Не уверен, что он все еще работает, так как ему 4 года.

В качестве альтернативы вы можете использовать подход автоматизации браузера и вносить изменения через браузер, управляя им с помощью selenium. Для этого конкретного раскрывающегося списка найдите его и щелкните элемент с текстом At most once a week:

dropdown = driver.find_element_by_css_selector("div.frequency_select")
dropdown.click()

once_a_week = driver.find_element_by_xpath("//*[. = 'At most once a week']")
once_a_week.click()
person alecxe    schedule 22.09.2015

Вы можете редактировать HTML страницы, но это не то, что вы хотите делать. Вы существенно изменили бы метку выбора, но не поведение. Думайте об этом, как об изменении вывески в мужском туалете на «Женский». Это не меняет эту ванную на женскую, это просто сбивает с толку женщин, которые туда входят... :)

Что вы хотите сделать, это выбрать конкретный вариант на странице. Чтобы сценарий заработал, вам нужно будет делать то, что пользователь делает в сценарии. Чтобы изменить этот раскрывающийся список (на самом деле это не раскрывающийся список SELECT, он просто выглядит и ведет себя как один), вам нужно будет щелкнуть по нему, а затем щелкнуть по нужному элементу. Эти элементы для двух кликов имеют идентификаторы, поэтому вы сможете легко нажимать на них.

person JeffC    schedule 22.09.2015