1. 程式人生 > >python上selenium的彈框操作

python上selenium的彈框操作

selenium之彈框操作

1,分類

  彈框型別自見解分為四種:

  1,頁面彈框

  2,警告提示框(alert)

  3,確認訊息框(confirm)

  4,提示訊息對話(prompt)

  提示:selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt對話方塊。

2,操作

  1,頁面彈框

    頁面彈框是屬於HTML裡面的元素,它是由使用者在操作頁面的時候在本頁面彈出的。所以科研直接在頁面上定位到

  步驟:

    1,使用者操作後,彈出頁面彈框

    2,直接定位彈框元素,進行操作

以下是例示程式碼:

 1 from selenium import 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) #獲取關閉彈窗結果 #獲取確 認彈窗結果 

 

 

 

    

 

  

&n