類似下圖所示的警告框,無法通過前端工具定位,需要跳轉到彈框,然后再對其操作
3種彈框:
- 警告類彈框,alert:一個按鈕
- 確認類彈框,confirm:一個確認,一個取消
- 消息類彈框,prompt:一個輸入框, 一個確認,一個取消
跳轉到彈框:
- switch_to.alert
常用的彈框處理方法:
- text 獲取警告框的內容
- accept() 相當於點擊確認按鈕
- dismiss() 相當於點擊取消按鈕
- send_keys() 向警告框輸入值
例子:
點擊百度首頁的設置->搜索設置->保存設置->處理彈框
1 from selenium import webdriver 2 from selenium.webdriver.common.action_chains import ActionChains 3 import time 4 5 driver = webdriver.Chrome() 6 driver.maximize_window() 7 driver.implicitly_wait(10) 8 driver.get('http://www.baidu.com') 9 10 11 element = driver.find_element_by_partial_link_text('設置') 12 ActionChains(driver).move_to_element(element).perform() 13 driver.find_element_by_partial_link_text('搜索設置').click() 14 time.sleep(3) 15 driver.find_element_by_partial_link_text('保存設置').click() 16 17 # driver.switch_to_alert().accept() 18 driver.switch_to.alert.accept() # 獲取警告框,並接受 19 text1 = driver.switch_to.alert.text # 獲取警告框,並獲取其中的內容 20 print(text1) 21 22 time.sleep(3) 23 driver.quit()