2016-06-11 2 views
2

Я использую Selenium для автоматизации процесса и страницы, с которой я хочу взаимодействовать, каждый раз, когда кто-то обращается к ней, открывается модальный диалог. Я хочу иметь возможность правильно взаимодействовать с главной страницей, поэтому мне нужно закрыть диалоговое окно. Тем не менее, я пробовал некоторые предложения по обработке модальных диалогов, и они не работают так, как должны. Есть две кнопки я могу нажать на, чтобы закрыть диалоговое окно, один из них:Обработка модальных диалогов с помощью Selenium в Python

<div class="modal-footer"> 
    <button type="button" class="btn btn-primary" data-dismiss="modal">Fechar</button> 
    </div> 

Я пытался найти эту кнопку, а затем нажмите на него:

test = driver.find_element_by_link_text("Fechar") 
test.click() 

Но это не закрывая диалог. Использование:

test = driver.find_element_by_link_text("Fechar") 
test.send_keys(Keys.RETURN) 

дает мне следующую ошибку:

no such element: Unable to locate element: {"method":"link text","selector":"Fechar"}. 

Я также думал о написании сценария для перехода через диалог с помощью клавиши TAB, а затем нажать Enter при достижении кнопки закрытия , Но я не знаю, подходит ли это для решения проблемы, и если это можно сделать без проблем. Заранее спасибо.

ответ

2

С помощью метода find_element_by_link_text вы не найдете кнопки, вы найдете элемент ссылки (a). Reference.

Если вы хотите, чтобы получить эту кнопку, вы можете использовать:

driver.find_element_by_css_selector('.modal-footer > button[data-dismiss="modal"]') 
Смежные вопросы