python上selenium的彈框操作實(shí)現(xiàn)
selenium之彈框操作
1,分類
彈框類型自見解分為四種:
1,頁(yè)面彈框
2,警告提示框(alert)
3,確認(rèn)消息框(confirm)
4,提示消息對(duì)話(prompt)
提示: selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt對(duì)話框。
2,操作
1,頁(yè)面彈框
頁(yè)面彈框是屬于HTML里面的元素,它是由用戶在操作頁(yè)面的時(shí)候在本頁(yè)面彈出的。所以科研直接在頁(yè)面上定位到
步驟:
1,用戶操作后,彈出頁(yè)面彈框
2,直接定位彈框元素,進(jìn)行操作
以下是例示代碼:
from selenium import webdriver #引入庫(kù)#打開谷歌瀏覽器driver=webdriver.Chrome()#打開網(wǎng)頁(yè)driver.get(’http://www.baidu.com’)#定位百度的登錄元素,然后點(diǎn)擊操作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)閉了用戶才能操作的框,它提供了一個(gè)確認(rèn)按鈕,以及警告消息。
操作代碼如下:
from time import sleepfrom selenium import webdriver#引入庫(kù)#打開谷歌,網(wǎng)址driver=webdriver.Chrome() driver.get(’http://119.23.55.123:8084/fsmarket/user.php’)#我們定位獲取警告框的元素,點(diǎn)擊,彈出警告框driver.find_element_by_css_selector(’#cnblogs_post_body > p:nth-child(17)’).click()sleep(1) #為了可能因?yàn)榫W(wǎng)絡(luò)等問題而獲取不到彈框,我們添加等待時(shí)間#然后我們獲取警告框,賦予變量名alert=driver.switch_to.alert#獲取消息框文本在控制臺(tái)打印print(alert.text)alert.accept() #關(guān)閉框操作 接受彈框
3,確認(rèn)消息框(confirm)
確認(rèn)消息框提供是或否操作,用戶可以根據(jù)選擇'確定'按鈕和'取消'按鈕。與警告消息框不同的是,多了個(gè)取消按鈕
操作代碼如下:
from time import sleepfrom selenium import webdriver#引入庫(kù)#打開谷歌,網(wǎng)址driver=webdriver.Chrome() driver.get(’http://119.23.55.123:8084/fsmarket/user.php’)#我們定位獲取消息框的元素,點(diǎn)擊,彈出消息框driver.find_element_by_css_selector(’/html/body/div/input[3]’).click()sleep(1) #為了可能因?yàn)榫W(wǎng)絡(luò)等問題而獲取不到彈框,我們添加等待時(shí)間#然后我們獲取消息框,賦予變量名alert=driver.switch_to.alert#獲取消息框文本在控制臺(tái)打印print(alert.text)alert.accept() #關(guān)閉框操作 接受彈框alert.dismiss() #關(guān)閉框操作 取消彈框
4,提示消息對(duì)話(prompt)
提示消息框提供了一個(gè)文本字段,用戶可以在此字段輸入一個(gè)內(nèi)容來響應(yīng)對(duì)話框提示。該消息框有一個(gè)'確定'按
鈕和一個(gè)'取消'按鈕。選擇'確認(rèn)'會(huì)響應(yīng)對(duì)應(yīng)的提示信息,選擇'取消'會(huì)關(guān)閉對(duì)話框。
操作代碼如下:
from time import sleepfrom selenium import webdriver#引入庫(kù)#打開谷歌,網(wǎng)址driver=webdriver.Chrome()driver.get(’file:///C:/Users/hunk/Desktop/alter.html’)#我們定位獲取對(duì)話框的元素,點(diǎn)擊,彈出對(duì)話框driver.find_element_by_css_selector(’/html/body/div/input[3]’).click()sleep(1) #為了可能因?yàn)榫W(wǎng)絡(luò)等問題而獲取不到彈框,我們添加等待時(shí)間#然后我們獲取對(duì)話框,賦予變量名alert=driver.switch_to.alert#獲取對(duì)話框文本在控制臺(tái)打印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的彈框操作實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python selenium彈框操作內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP新手必備的基礎(chǔ)知識(shí)2. PHP基礎(chǔ)之生成器4——比較生成器和迭代器對(duì)象3. CentOS郵箱服務(wù)器搭建系列——SMTP服務(wù)器的構(gòu)建( Postfix )4. asp文件用什么軟件編輯5. JAVA 實(shí)現(xiàn)延遲隊(duì)列的方法6. Vue axios獲取token臨時(shí)令牌封裝案例7. js實(shí)現(xiàn)計(jì)算器功能8. JS中6個(gè)對(duì)象數(shù)組去重的方法9. 利用CSS制作3D動(dòng)畫10. 通過IEAD+Maven快速搭建SSM項(xiàng)目的過程(Spring + Spring MVC + Mybatis)

網(wǎng)公網(wǎng)安備