Selenium не может нажать на кнопку веб-страницы python - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь нажать кнопку голосования на веб-странице. Я могу перемещаться по странице с моим python кодом и нажимать кнопку-переключатель. Кнопка голосования не объявляется как элемент «кнопка» или «ввод» в коде HTML. Я действительно не уверен, как заставить Selenium перейти к нему и щелкнуть по нему. Сама кнопка не ссылается на веб-адрес. Я попытался нажать на него, а затем нажать Enter, но он нажимает на саму кнопку. Я могу предоставить дополнительную HTML и любую другую дополнительную информацию. Изображение HTML ниже!

HTML Код кнопки

Ответы [ 2 ]

2 голосов
/ 28 февраля 2020

Попробуйте это:

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()

Это сработало для меня, выбрав нужные элементы для щелчка. Иногда вокруг кнопки есть элемент обтекания, который должен получить щелчок вместо целевого элемента, чтобы вызвать ответ.

0 голосов
/ 28 февраля 2020

Можете ли вы найти элемент, используя селекторы классов?

Я бы получил SelenideElement по классам, а затем вызвал бы метод click: $ ('. Pds-voice-button')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...