selenium之彈框操作
一、分類
彈框型別自見解分為四種:
1,頁面彈框
2,警告提示框(alert)
3,確認訊息框(confirm)
4,提示訊息對話(prompt)
提示: selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt對話框,
加入我們群:642830685,領取最新軟體測驗大廠面試資料和Python自動化、介面、框架搭建學習資料!
二、操作
1,頁面彈框
頁面彈框是屬于HTML里面的元素,它是由用戶在操作頁面的時候在本頁面彈出的,所以科研直接在頁面上定位到
步驟:
1,用戶操作后,彈出頁面彈框
2,直接定位彈框元素,進行操作
以下是例示代碼:
port webdriver #引入庫
2
3
4 #打開谷歌瀏覽器
5 driver=webdriver.Chrome()
6 #打開網頁
7 driver.get('http://www.baidu.com')
8 #定位百度的登錄元素,然后點擊操作
9 driver.find_element_by_css_selector('#u1 > a.s-top-login-btn.c-btn.c-btn-primary.c-btn-mini.lb').click()
10 #彈框出現后,我們直接定位元素操作就好了
11 driver.find_element_by_css_selector('#TANGRAM__PSP_11__footerULoginBtn').click()
2,警告訊息框
警告訊息框是必須先關閉了用戶才能操作的框,它提供了一個確認按鈕,以及警告訊息,
操作代碼如下:
from time import sleep
from selenium import webdriver
#引入庫
#打開谷歌,網址
driver=webdriver.Chrome()
driver.get('http://119.23.55.123:8084/fsmarket/user.php')
#我們定位獲取警告框的元素,點擊,彈出警告框
driver.find_element_by_css_selector('#cnblogs_post_body > p:nth-child(17)').click()
sleep(1) #為了可能因為網路等問題而獲取不到彈框,我們添加等待時間
#然后我們獲取警告框,賦予變數名
alert=driver.switch_to.alert
#獲取訊息框文本在控制臺列印
print(alert.text)
alert.accept() #關閉框操作 接受彈框
3,確認訊息框(confirm)
確認訊息框提供是或否操作,用戶可以根據選擇"確定"按鈕和"取消"按鈕,與警告訊息框不同的是,多了個取消按鈕
操作代碼如下:
from time import sleep
from selenium import webdriver
#引入庫
#打開谷歌,網址
driver=webdriver.Chrome()
driver.get('http://119.23.55.123:8084/fsmarket/user.php')
#我們定位獲取訊息框的元素,點擊,彈出訊息框
driver.find_element_by_css_selector('/html/body/div/input[3]').click()
sleep(1) #為了可能因為網路等問題而獲取不到彈框,我們添加等待時間
#然后我們獲取訊息框,賦予變數名
alert=driver.switch_to.alert
#獲取訊息框文本在控制臺列印
print(alert.text)
alert.accept() #關閉框操作 接受彈框
alert.dismiss() #關閉框操作 取消彈框
4,提示訊息對話(prompt)
提示訊息框提供了一個文本欄位,用戶可以在此欄位輸入一個內容來回應對話框提示,該訊息框有一個"確定"按
鈕和一個"取消"按鈕,選擇"確認"會回應對應的提示資訊,選擇"取消"會關閉對話框,
操作代碼如下:
from time import sleep
from selenium import webdriver
#引入庫
#打開谷歌,網址
driver=webdriver.Chrome()
driver.get('file:///C:/Users/hunk/Desktop/alter.html')
#我們定位獲取對話框的元素,點擊,彈出對話框
driver.find_element_by_css_selector('/html/body/div/input[3]').click()
sleep(1) #為了可能因為網路等問題而獲取不到彈框,我們添加等待時間
#然后我們獲取對話框,賦予變數名
alert=driver.switch_to.alert
#獲取對話框文本在控制臺列印
print(alert.text)
alert.send_keys("我是小白") #彈出框內輸入內容
alert.accept() #接受
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text) #獲取關閉彈窗結果 #獲取確 認彈窗結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/80859.html
標籤:Python
上一篇:埠掃描器的幾種代碼實作方案
