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でしか使えません.
次の3つの例では、上記の3つのダイアログボックスをどのように処理するかを主に示します.
1.alertダイアログの処理
2.confirmダイアログの処理
3.promptダイアログの処理
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()