1. 程式人生 > >Selenium入門10 彈出框的處理

Selenium入門10 彈出框的處理

獲取 accept code microsoft nbsp 分享 chains 兩個 pri

三種彈出框alert(一個按鈕),confirm(兩個確認,取消),prompt(兩個按鈕+輸入框)。 切換到彈框: switch_to_alert() 彈框的方法: 1 text獲取彈框文本 2 accept()確認 3 dimiss()取消 4 send_keys() prompt彈框輸入字符。其他兩種會報錯 技術分享圖片

示例腳本如下:

#coding=utf-8
#彈出框操作

from selenium import webdriver
import time

dr=webdriver.Firefox()
dr.get("https://www.baidu.com")

#隱藏的元素需顯示出來才能操作
setmenu = dr.find_element_by_link_text("設置") webdriver.ActionChains(dr).move_to_element(setmenu).perform() dr.find_element_by_link_text(搜索設置).click() time.sleep(3) #未隱藏的元素可以直接選取;註釋掉的是通過父級元素找後代也可以 #nrset = dr.find_element_by_id("nr") #nrset.find_element_by_css_selector("option[value=‘50‘]").click()
dr.find_element_by_css_selector("option[value=‘50‘]").click() #彈出框確認 三種彈出框alert(一個按鈕),confirm(兩個按鈕),prompt(兩個按鈕+輸入框) dr.find_element_by_link_text("保存設置").click() print(dr.switch_to_alert().text) dr.switch_to_alert().accept() #確認 #dr.switch_to_alert().dismiss() #取消 #dr.switch_to_alert().send_keys("只對prompt有效") #在彈出框輸入內容
time.sleep(2) dr.quit()

Selenium入門10 彈出框的處理