python上selenium的彈框操作實(shí)現(xiàn)
selenium之彈框操作
1,分類(lèi)
彈框類(lèi)型自見(jiàn)解分為四種:
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ù) #打開(kāi)谷歌瀏覽器 driver=webdriver.Chrome() #打開(kāi)網(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 sleep from selenium import webdriver #引入庫(kù) #打開(kāi)谷歌,網(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ò)等問(wèn)題而獲取不到彈框,我們添加等待時(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 sleep from selenium import webdriver #引入庫(kù) #打開(kāi)谷歌,網(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ò)等問(wèn)題而獲取不到彈框,我們添加等待時(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)容來(lái)響應(yīng)對(duì)話框提示。該消息框有一個(gè)"確定"按
鈕和一個(gè)"取消"按鈕。選擇"確認(rèn)"會(huì)響應(yīng)對(duì)應(yīng)的提示信息,選擇"取消"會(huì)關(guān)閉對(duì)話框。
操作代碼如下:
from time import sleep from selenium import webdriver #引入庫(kù) #打開(kāi)谷歌,網(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ò)等問(wèn)題而獲取不到彈框,我們添加等待時(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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中的一些類(lèi)型轉(zhuǎn)換函數(shù)小結(jié)
python中的一些類(lèi)型轉(zhuǎn)換函數(shù),供大家參考2013-02-02python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5控件數(shù)據(jù)拖曳Drag與Drop詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5控件數(shù)據(jù)拖曳Drag與Drop詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02非常全面的Python常見(jiàn)基礎(chǔ)面試題及答案
Python是目前編程領(lǐng)域最受歡迎的語(yǔ)言,Python可用于許多領(lǐng)域,Web應(yīng)用程序開(kāi)發(fā),自動(dòng)化,數(shù)學(xué)建模,大數(shù)據(jù)應(yīng)用程序等等,這篇文章主要給大家介紹了關(guān)于Python常見(jiàn)基礎(chǔ)面試題及答案的相關(guān)資料,需要的朋友可以參考下2021-09-09pandas 數(shù)據(jù)索引與選取的實(shí)現(xiàn)方法
這篇文章主要介紹了pandas 數(shù)據(jù)索引與選取的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Python實(shí)現(xiàn)自定義異常堆棧信息的示例代碼
當(dāng)我們的程序報(bào)錯(cuò)時(shí),解釋器會(huì)將整個(gè)異常的堆棧信息全部輸出出來(lái)。解釋器會(huì)將異常產(chǎn)生的整個(gè)調(diào)用鏈都給打印出來(lái),那么問(wèn)題來(lái)了,我們能不能自定義這些報(bào)錯(cuò)信息呢?本文就來(lái)為大家詳細(xì)講講2022-07-07pytorch的梯度計(jì)算以及backward方法詳解
今天小編就為大家分享一篇pytorch的梯度計(jì)算以及backward方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01