多窗口切换
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https:://ies.chinasoft.com")
1、先定义变量保存当前主页的窗口通道
current_handle=driver.current_window_handle
2、再切换回到主页
driver.switch_to.window(current_handle)
警告弹窗处理(alert警告)
1、定义一个变量保存当前页的警告弹窗元素
driver=webdriver.Firefox()
alert=driver.switch_to_alert()
2、再对警告弹窗处理
alert.accept() # 表示点击确定关闭弹窗
或
alert.dismiss() # 表示点击取消关闭弹窗
举例:
#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)
#点击确认关闭alert弹框
alert_ele.accept()
driver.find_element_by_id("confirm").click()
comfirm_ele=driver.switch_to_alert
time.sleep(2)
# comfirm_ele.accept()
#点击取消关闭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 关注小D课堂');"/>
<input id = "confirm" value = "confirm" type = "button" onclick = "confirm('confirm 关注小D课堂');"/>
</body>
</html>
alert弹框1.png
alert弹框2.png
上传文件
如:
driver.find_element_by_css_selector(".upload-pic").send_keys(r"E\test\test.png")
#设置文件路径在send_keys里,r代表路径转义既不用\\代表\
滚动条控制操作
1、将页面滚动条拖动到最底部
js="var action=document.documentElement.scrollTop=10000"
driver.execute_script(js)
2、将页面滚动条拖动到最顶部
js="var action=document.documentElement.scrollTop=0"
driver.execute_script(js)
多窗口的网页标签句柄
handle=drvier.current_window_handle #获取当前页的标签页的窗口句柄
#注:以下一般都是连用在一起,表示在执行元素操作后所有的窗口句柄已经弹出,此时再定义获取所有的handles
handles=driver.window_handles #获取所有网页标签的窗口句柄,以列表形式保存
handles[-1] #表示取得最新打开的标签页的窗口句柄
driver.switch_to.window(handles[-1])#切换到最新的窗口句柄