Я пытаюсь нажать кнопку с селеном в питоне. Я не могу найти его с помощью xpath или css.
В остальном в скрипте я использовал xpath, и он отлично работает, но xpath этой кнопки кажется относительным при каждом открытии. Поэтому я попытался получить доступ с помощью селектора CSS.
Элемент, к которому я пытаюсь получить доступ, выглядит следующим образом:
<button type="button" data-dismiss="modal" class="btn btn-primary pull-right">Opret AnnonceAgent</button>
Селектор css из inspect в chrome:
#\35 d167939-adc2-0901-34ea-406e6c26e1ab > div.modal-footer > div > button.btn.btn-primary.pull-right
Дайте мне знать, если я опубликую больше html.
Я перепробовал много вопросов о переполнении стека и перепробовал множество вариантов селектора css, например: 1011 *
driver.find_element_by_class_name('#\35 d167939-adc2-0901-34ea-406e6c26e1ab.div.modal-footer.div.button.btn.btn-primary.pull-rightdiv.button.btn.btn-primary-pull-right').click()
driver.find_element_by_class_name('div.button.btn.btn-primary-pull-right').click()
driver.find_element_by_class_name('button.btn.btn-primary-pull-right').click()
driver.find_element_by_class_name('btn.btn-primary-pull-right').click()
driver.find_element_by_class_name('btn-primary-pull-right').click()
Я также попробовал таймер сна.
Кнопка находится в окне, которое открывается при нажатии предыдущей кнопки, с серым фоном, если это помогает. Изображение .
# This opens up the window in which to press the next button (works fine)
button = driver.find_element_by_xpath('//*[@id="content"]/div[1]/section/div[2]/button')
button.click()
driver.implicitly_wait(15)
time.sleep(5)
# This is what doesn't work
driver.find_element_by_class_name('button.btn.btn-primary-pull-right').click()
Я ожидаю, что программа нажмет кнопку, а она нет, она просто сидит там.