一、認識對話框
Web 頁面中對話框是很常見的一種控件,當我們使用常見的元素定位方法定位對話框中的按鈕時會發(fā)現(xiàn)定位失敗,這個時候我們怎么辦呢?要準確定位,我們有必要了解下對話框。一般而言,alert對話框有3種:Alert,prompt,confirm。
1. alert() 警告框,點擊后彈出包含一個確定按鈕的警告框。警告消息框 alert 的方法中有一個參數(shù),即開發(fā)者想讓用戶看到的文本,該文本不是 HTML 格式。它提供了一個“確定”按鈕可以讓用戶關(guān)閉警告框,且警告框?qū)儆谀B(tài)窗口,也就是說,用戶必須先關(guān)閉該消息框然后才能繼續(xù)進行操作。
2. confirm() 確認框,點擊后會彈出一個包含確定按鈕和取消按鈕的確認框。確認框使用確認消息框向用戶詢問“yes or no”,用戶可以選擇單擊“確定”按鈕或者單擊“取消”按鈕,confirm方法的返回值是一個Boolean值。它也是一種模態(tài)窗口,用戶必須在該對話框關(guān)閉后,才能進行下一步操作。
3. prompt() 提示框,點擊后會彈出一個包含確定按鈕、取消按鈕以及一個文本框的提示框,用戶可以在文本框輸入一個答案來響應(yīng)提示框。當用戶在文本框中輸入信息,并且點擊“確定”按鈕,網(wǎng)頁會給與回應(yīng)。它也是一種模態(tài)窗口,用戶必須在該對話框關(guān)閉后,才能進行下一步操作。
二、處理對話框
1. 對于這三種對話框我們在selenium中的處理方式是一樣的:
(1) driver.switch_to.alert 獲取alert
(2) alert.accept() 接受對話框選項(相當于點擊了確定按鈕)
(3) alert.dismiss() 取消對話框選項
(4) alert.text 返回對話框中的文字信息
2. Alert警告框
# 點擊按鈕獲取警告框
driver.find_element_by_css_selector("#alert").click()
sleep(2)
# 獲取警告框
alert = driver.switch_to.alert
# 獲取警告框文本
print("警告框文本信息為:", alert.text)
# 接受警告框(點擊確定按鈕)
alert.accept()
sleep(2)
# 再次點擊
driver.find_element_by_css_selector("#alert").click()
# 獲取警告框
alert = driver.switch_to.alert
sleep(2)
# 取消警告框(點擊X關(guān)閉按鈕)
alert.dismiss()
3. Confirm確認框
# 點擊按鈕獲取確認框
driver.find_element_by_css_selector("#confirm").click()
sleep(2)
# 獲取確認框
alert = driver.switch_to.alert
# 獲取確認框文本
print("確認框文本信息為:", alert.text)
# 接受確認框(點擊確定按鈕)
alert.accept()
sleep(2)
# 再次點擊獲取
driver.find_element_by_css_selector("#confirm").click()
alert = driver.switch_to.alert
sleep(2)
# 取消確認框(點擊取消按鈕)
alert.dismiss()
4. Prompt提示框
# 點擊按鈕獲取提示框
driver.find_element_by_css_selector("#prompt").click()
sleep(2)
# 獲取提示框
alert = driver.switch_to.alert
# 獲取提示框文本
print("提示框文本信息為:", alert.text)
sleep(2)
# 給提示框中文本框輸入內(nèi)容
alert.send_keys("hqfphsz.com")
# 接受提示框(點擊確定按鈕)
alert.accept()
sleep(2)
# 再次點擊獲取
driver.find_element_by_css_selector("#prompt").click()
alert = driver.switch_to.alert
# 給提示框中文本框輸入內(nèi)容
alert.send_keys("www.offcn.com")
sleep(2)
# 取消提示框(點擊取消按鈕)
alert.dismiss()
>>本文地址:http://hqfphsz.com/zhuanye/2020/48262.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?