Я пытаюсь нажать кнопку голосования на веб-странице. Я могу перемещаться по странице с моим python кодом и нажимать кнопку-переключатель. Кнопка голосования не объявляется как элемент «кнопка» или «ввод» в коде HTML. Я действительно не уверен, как заставить Selenium перейти к нему и щелкнуть по нему. Сама кнопка не ссылается на веб-адрес. Я попытался нажать на него, а затем нажать Enter, но он нажимает на саму кнопку. Я могу предоставить дополнительную HTML и любую другую дополнительную информацию. Изображение HTML ниже!
HTML Код кнопки
Попробуйте это:
from selenium import webdriver driver_options = webdriver.ChromeOptions() chromedriver = "path/to/chromedriver" driver = webdriver.Chrome(chromedriver, options = driver_options) driver.get("https://threerivers.okvype.com/2020/02/24/vote-now-okmulgee-area-preseason-baseball-poll-presented-by-muscogee-creek-nation-poll-ends-3-2/") buttonpath = '//*[@id="pd-vote-button10509753"]' dotpath = '//*[@id="PDI_answer48619888"]' dot = driver.find_element_by_xpath(dotpath) vote = driver.find_element_by_xpath(buttonpath) dot.click() vote.click()
Это сработало для меня, выбрав нужные элементы для щелчка. Иногда вокруг кнопки есть элемент обтекания, который должен получить щелчок вместо целевого элемента, чтобы вызвать ответ.
Можете ли вы найти элемент, используя селекторы классов?
Я бы получил SelenideElement по классам, а затем вызвал бы метод click: $ ('. Pds-voice-button')