1、彈出窗口的處理(需要先進入窗口再進行處理,使用switch_to切換進彈出窗口)
彈出窗口的類型:
alert:警告框
confirm:確認框
prompt:提示框
此三種類型對話框處理方式都一樣,用:switch_to.alert.[處理方式]
接受:driver.switch_to.alert.accept()
取消:driver.switch_to.alert.dismiss()
獲取彈出信息:driver.switch_to.alert.text(獲取信息后需取消)
實例代碼:
# 導入模塊 from selenium import webdriver import time # 創建瀏覽器,設置瀏覽器為 最大化 driver = webdriver.Firefox() driver.maximize_window() # 訪問百度 driver.get('http://www.baidu.com') # 定位到設置並點擊 sz = driver.find_element_by_id('s-usersetting-top') sz.click() time.sleep(2) # 定位到搜索設置並點擊 ss = driver.find_element_by_css_selector('.setpref') ss.click() time.sleep(2) # 定位到設置選項,且點擊 xs = driver.find_element_by_id('sh_1') xs.click() time.sleep(2) # 保存設置 bc = driver.find_element_by_css_selector('.prefpanelgo') bc.click() time.sleep(2) # 此時有彈出框,需要處理,可以使用switch_to.來切換進彈出的窗口 '''driver.switch_to.alert:這是進入彈出窗口 driver.switch_to.alert.dismiss():代表進入且解散窗口 driver.switch_to.alert.accept():代表進入且接受提示 driver.switch_to.alert.text:獲取彈出窗口信息(此項操作后必須解散窗口)''' # 進入進入窗口且取消(相當點擊取消按鈕 ) # driver.switch_to.alert.dismiss() # time.sleep(2) # 進入窗口且同意(相當於點擊確定按鈕) # driver.switch_to.alert.accept() # 進入窗口,獲取窗口信息(獲取信息后取消) alertt = driver.switch_to.alert print(alertt.text) alertt.dismiss() # 關閉瀏覽器 driver.quit()
獲取彈出信息部分參考:https://blog.csdn.net/dpl12/article/details/103039545###