python上selenium的彈框操作實現(xiàn)
selenium之彈框操作
1,分類
彈框類型自見解分為四種:
1,頁面彈框
2,警告提示框(alert)
3,確認(rèn)消息框(confirm)
4,提示消息對話(prompt)
提示: selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt對話框。
2,操作
1,頁面彈框
頁面彈框是屬于HTML里面的元素,它是由用戶在操作頁面的時候在本頁面彈出的。所以科研直接在頁面上定位到
步驟:
1,用戶操作后,彈出頁面彈框
2,直接定位彈框元素,進(jìn)行操作
以下是例示代碼:
from selenium import webdriver #引入庫
#打開谷歌瀏覽器
driver=webdriver.Chrome()
#打開網(wǎng)頁
driver.get('http://www.baidu.com')
#定位百度的登錄元素,然后點擊操作
driver.find_element_by_css_selector('#u1 > a.s-top-login-btn.c-btn.c-btn-primary.c-btn-mini.lb').click()
#彈框出現(xiàn)后,我們直接定位元素操作就好了
driver.find_element_by_css_selector('#TANGRAM__PSP_11__footerULoginBtn').click()
2,警告消息框
警告消息框是必須先關(guān)閉了用戶才能操作的框,它提供了一個確認(rèn)按鈕,以及警告消息。
操作代碼如下:
from time import sleep
from selenium import webdriver
#引入庫
#打開谷歌,網(wǎng)址
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) #為了可能因為網(wǎng)絡(luò)等問題而獲取不到彈框,我們添加等待時間
#然后我們獲取警告框,賦予變量名
alert=driver.switch_to.alert
#獲取消息框文本在控制臺打印
print(alert.text)
alert.accept() #關(guān)閉框操作 接受彈框
3,確認(rèn)消息框(confirm)
確認(rèn)消息框提供是或否操作,用戶可以根據(jù)選擇"確定"按鈕和"取消"按鈕。與警告消息框不同的是,多了個取消按鈕
操作代碼如下:
from time import sleep
from selenium import webdriver
#引入庫
#打開谷歌,網(wǎng)址
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) #為了可能因為網(wǎng)絡(luò)等問題而獲取不到彈框,我們添加等待時間
#然后我們獲取消息框,賦予變量名
alert=driver.switch_to.alert
#獲取消息框文本在控制臺打印
print(alert.text)
alert.accept() #關(guān)閉框操作 接受彈框
alert.dismiss() #關(guān)閉框操作 取消彈框
4,提示消息對話(prompt)
提示消息框提供了一個文本字段,用戶可以在此字段輸入一個內(nèi)容來響應(yīng)對話框提示。該消息框有一個"確定"按
鈕和一個"取消"按鈕。選擇"確認(rèn)"會響應(yīng)對應(yīng)的提示信息,選擇"取消"會關(guān)閉對話框。
操作代碼如下:
from time import sleep
from selenium import webdriver
#引入庫
#打開谷歌,網(wǎng)址
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) #為了可能因為網(wǎng)絡(luò)等問題而獲取不到彈框,我們添加等待時間
#然后我們獲取對話框,賦予變量名
alert=driver.switch_to.alert
#獲取對話框文本在控制臺打印
print(alert.text)
alert.send_keys("我是小白") #彈出框內(nèi)輸入內(nèi)容
alert.accept() #接受
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text) #獲取關(guān)閉彈窗結(jié)果 #獲取確 認(rèn)彈窗結(jié)果
到此這篇關(guān)于python上selenium的彈框操作實現(xiàn)的文章就介紹到這了,更多相關(guān)python selenium彈框操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
matplotlib.pyplot畫圖并導(dǎo)出保存的實例
今天小編就為大家分享一篇matplotlib.pyplot畫圖并導(dǎo)出保存的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python numpy實現(xiàn)數(shù)組合并實例(vstack,hstack)
這篇文章主要介紹了Python numpy實現(xiàn)數(shù)組合并(官網(wǎng)實例),涉及vstack,hstack的簡單用法,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
Python3內(nèi)置模塊random隨機(jī)方法小結(jié)
這篇文章主要介紹了Python3內(nèi)置模塊random隨機(jī)方法小結(jié),random是Python中與隨機(jī)數(shù)相關(guān)的模塊,其本質(zhì)就是一個偽隨機(jī)數(shù)生成器,我們可以利用random模塊基礎(chǔ)生成各種不同的隨機(jī)數(shù),以及一些基于隨機(jī)數(shù)的操作,需要的朋友可以參考下2019-07-07
python3.6之xlwt如何設(shè)置單元格對齊方式
這篇文章主要介紹了python3.6之xlwt如何設(shè)置單元格對齊方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
pandas factorize實現(xiàn)將字符串特征轉(zhuǎn)化為數(shù)字特征
今天小編就為大家分享一篇pandas factorize實現(xiàn)將字符串特征轉(zhuǎn)化為數(shù)字特征,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python3中的re.findall()方法及re.compile()
這篇文章主要介紹了Python3中的re.findall()方法及re.compile(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05

