多窗口切換
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https:://ies.chinasoft.com")
1、先定義變量保存當(dāng)前主頁的窗口通道
current_handle=driver.current_window_handle
2、再切換回到主頁
driver.switch_to.window(current_handle)
警告彈窗處理(alert警告)
1、定義一個變量保存當(dāng)前頁的警告彈窗元素
driver=webdriver.Firefox()
alert=driver.switch_to_alert()
2、再對警告彈窗處理
alert.accept() # 表示點擊確定關(guān)閉彈窗
或
alert.dismiss() # 表示點擊取消關(guān)閉彈窗
舉例:
#coding=utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.get("file:///C:/Users/Administrator/Desktop/alert.html")
time.sleep(2)
driver.find_element_by_id("alert").click()
#切換至alert彈框
alert_ele=driver.switch_to_alert()
time.sleep(2)
#點擊確認(rèn)關(guān)閉alert彈框
alert_ele.accept()
driver.find_element_by_id("confirm").click()
comfirm_ele=driver.switch_to_alert
time.sleep(2)
# comfirm_ele.accept()
#點擊取消關(guān)閉alert彈框
comfirm_ele.dismiss()
alert.html文件
<!DOCTYPE html>
<html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<input id = "alert" value = "alert" type = "button" onclick = "alert('alert 關(guān)注小D課堂');"/>
<input id = "confirm" value = "confirm" type = "button" onclick = "confirm('confirm 關(guān)注小D課堂');"/>
</body>
</html>

alert彈框1.png

alert彈框2.png
上傳文件
如:
driver.find_element_by_css_selector(".upload-pic").send_keys(r"E\test\test.png")
#設(shè)置文件路徑在send_keys里,r代表路徑轉(zhuǎn)義既不用\\代表\
滾動條控制操作
1、將頁面滾動條拖動到最底部
js="var action=document.documentElement.scrollTop=10000"
driver.execute_script(js)
2、將頁面滾動條拖動到最頂部
js="var action=document.documentElement.scrollTop=0"
driver.execute_script(js)
多窗口的網(wǎng)頁標(biāo)簽句柄
handle=drvier.current_window_handle #獲取當(dāng)前頁的標(biāo)簽頁的窗口句柄
#注:以下一般都是連用在一起,表示在執(zhí)行元素操作后所有的窗口句柄已經(jīng)彈出,此時再定義獲取所有的handles
handles=driver.window_handles #獲取所有網(wǎng)頁標(biāo)簽的窗口句柄,以列表形式保存
handles[-1] #表示取得最新打開的標(biāo)簽頁的窗口句柄
driver.switch_to.window(handles[-1])#切換到最新的窗口句柄