https://www.cnblogs.com/fengyiru6369/p/7229883.html

12242 ワード

いくつかの操作が完了すると、ダイアログ・ボックスがポップアップされ、主に「警告メッセージ・ボックス」、「確認メッセージ・ボックス」、「プロンプト・メッセージ・ダイアログ」の3種類のダイアログ・ボックスに分かれます.
1.警告メッセージ・ボックス(alert)警告メッセージ・ボックスは、「OK」ボタンを使用してユーザーにメッセージ・ボックスを閉じさせ、このメッセージ・ボックスはモード・ダイアログ・ボックスである.つまり、ユーザーが操作を続行する前にメッセージ・ボックスを閉じなければならない.
2.確認メッセージボックス(confirm)
確認メッセージ・ボックスは、「はい」および「いいえ」の質問をユーザーに提示し、ユーザーは「OK」ボタンおよび「キャンセル」ボタンを選択します.
3.プロンプトメッセージダイアログ(prompt)プロンプトメッセージボックスには、ユーザーがプロンプトに応答するために答えを入力できるテキストフィールドがあります.このメッセージ・ボックスには、「OK」ボタンと「キャンセル」ボタンがあります.「確認」を選択すると、対応するプロンプトが表示され、「キャンセル」を選択するとダイアログ・ボックスが閉じます.
selenium提供switch_to_alert()メソッドはalert/confirm/promptダイアログボックスにナビゲートします.text/accept/dismiss/send_の使用keysは操作を行い、ここで注意するのはsend_keysはpromptのみを操作できます.
switch_to_alert()#位置決めポップアップダイアログtext()#取得ダイアログボックステキスト値accept()#クリック「確認」dismiss()#クリック「キャンセル」send_keys()#入力値、このalertとconfirmはダイアログボックスが入力されていないので、ここでは使えないので、ここではpromptでしか使えません.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>title>
    head>
    <body>
        <div align="center">
        <h4>hello girlh4>
        <input type="button" onclick="showPro()" value="       "/>
        <input type="button" onclick="showAlert2()" value="      "/>
        <input type="button" onclick="showAlert()" value="      "/><br><br><br>
        <span id="textSpan">span>

        div>
    body>
    <script>
        function showAlert(){            
            document.getElementById("textSpan").innerHTML="";
            if(confirm("     ?")){
                document.getElementById("textSpan").innerHTML="";
            }else{
                document.getElementById("textSpan").innerHTML="";
            }

        }
        function showPro(){
            document.getElementById("textSpan").innerHTML="";
            con = prompt("  1     ,  2    ");
            if(con==1){
                document.getElementById("textSpan").innerHTML="       ";
            }else if(con==2){
                document.getElementById("textSpan").innerHTML="      ";
            }else{
                document.getElementById("textSpan").innerHTML="";
            }
        }
        function showAlert2(){
            document.getElementById("textSpan").innerHTML="";
            alert("      ,      ");
        }
    script>
html>

次の3つの例では、上記の3つのダイアログボックスをどのように処理するかを主に示します. 
1.alertダイアログの処理
#-*-coding:utf-8 -*-
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('file:///C:/Users/hunk/Desktop/alter.html')
'''  alert      ,    ,  alert   '''
driver.find_element_by_xpath('/html/body/div/input[2]').click()
'''  alert   '''
alert = driver.switch_to_alert()
'''      '''
time.sleep(2)
'''          '''
print (alert.text)  #         
alert.accept()   #alert          ,          
'''      '''
time.sleep(2)
driver.quit()

2.confirmダイアログの処理
#-*-coding:utf-8 -*-
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('file:///C:/Users/hunk/Desktop/alter.html')
'''  confirm      ,    ,  confirm   '''
driver.find_element_by_xpath('/html/body/div/input[3]').click()
'''  confirm   '''
dialog_box = driver.switch_to_alert()
'''      '''
time.sleep(2)
'''        '''
#         
print (dialog_box.text)  
'''  【  】  "       ?"'''
dialog_box.accept()   #    
#             
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)
time.sleep(2)


'''    confirm      ,    ,  confirm   '''
driver.find_element_by_xpath('/html/body/div/input[3]').click()
'''    confirm   '''
dialog_box = driver.switch_to_alert()
'''  【  】  "       ?"'''
time.sleep(2)
dialog_box.dismiss()  #         
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)
driver.quit()

3.promptダイアログの処理
#-*-coding:utf-8 -*-
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
'''       2,    【  】,      ,  【  】      '''
driver.get('file:///C:/Users/hunk/Desktop/alter.html')
'''  prompt      ,    ,  confirm   '''
driver.find_element_by_xpath('/html/body/div/input[1]').click()
'''  prompt   '''
dialog_box = driver.switch_to_alert()
'''      '''
time.sleep(2)
'''        '''
print (dialog_box.text)  #         
dialog_box.send_keys("2")  #      2
dialog_box.accept()  #  
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)  #          #        
'''           '''
time.sleep(2)
#************************  【  】,        **********************
driver.find_element_by_xpath('/html/body/div/input[1]').click()
'''  prompt   '''
dialog_box = driver.switch_to_alert()
'''      '''
time.sleep(2)
dialog_box.dismiss()  #     
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)  #        
time.sleep(2)
driver.quit()