python нажатие кнопки на веб-странице

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

Когда кнопка уже активна:

<p class="toast_btn">
    <a class="button grey toast track-click active" data-user-avatar="https://dwebsite.net/picture.jpg" data-checkin-id="123456789" data-href=":feed/toast" data-track="activity_feed" href="#">

Когда кнопка не активна:

<p class="toast_btn">
    <a class="button grey toast track-click" data-user-avatar="https://dwebsite.net/picture.jpg" data-checkin-id="123456789" data-href=":feed/toast" data-track="activity_feed" href="#">

Я просто хочу щелкнуть его, когда class="button grey toast track-click"

Каков наилучший способ сделать это? В настоящее время я использую urllib2 и механизирую для входа в систему и проверки нескольких форм в настоящее время. Благодарю!

Ответ 1

Когда я сравниваю два тега, я вижу разницу между тегами класса. Так что, если вы можете прочитать это, то все готово

Вы можете сделать это с Selenium, если хотите

Шаг 1: найдите XPath - получите XPath кнопки: для этого откройте страницу в Chrome, нажмите на нее и выберите "Проверить элемент" - откроется html файл, щелкните правой кнопкой мыши выделенную строку и выберите "Копировать Xpath" - скопируйте XPath в блокноте

Теперь, когда у вас есть XPath, вы можете выбрать кнопку с помощью скрипта Python и запросить атрибуты.

Вот прототип

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.youradress.org")#put here the adress of your page
elem = driver.find_elements_by_xpath("//*[@type='submit']")#put here the content you have put in Notepad, ie the XPath
print(elem.get_attribute("class"))
driver.close()

Надеюсь, это поможет, если у вас есть вопрос, пожалуйста, дайте мне знать

Я использовал эти ссылки для документации

Python Selenium: поиск атрибутов объекта с использованием xpath

https://selenium-python.readthedocs.io/locating-elements.html