2016-06-11 16 views
2

私はSeleniumを使ってプロセスを自動化しています。私がやりとりしたいページは誰かがアクセスするたびにモーダルダイアログを開きます。私はメインページと適切に対話できるようにしたいので、ダイアログを閉じる方法が必要です。しかし、私はモーダルダイアログを扱う際にいくつかの提案を試みましたが、彼らはそうするべきではありません。私は、ダイアログを閉じるには、上のクリック可能な2つのボタンがあり、そのうちの一つは、次のとおりです。PythonでSeleniumを使ったモーダルダイアログを扱う

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

しかし、これはありますダイアログを閉じることはありません。閉じるボタンに達したときに

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

私もTABキーを使用してダイアログをナビゲートするためのスクリプトを書いた後、Enterキーを押すと考えた:使用:

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

することは私に次のエラーを与えます。しかし、私はこれが問題を処理するための適切な方法であるのか、これが問題なく実行できるのかどうかはわかりません。前もって感謝します。

答えて

2

find_element_by_link_textメソッドでは、ボタンが見つかりません。リンク要素(a)が見つかります。 Reference

あなたがそのボタンを取得したい場合は、使用できます。

driver.find_element_by_css_selector('.modal-footer > button[data-dismiss="modal"]') 
関連する問題