1.系统自带弹窗
操作步骤:
1.操作触发弹窗操作的元素
2.捕获弹窗
alert = driver.switch_to.alert
3.操作弹窗
获取弹窗的文本:alert.text
点击弹窗的确定按钮:alert.accept()
点击取消按钮:alert.dismiss()
发送文字:alert.send_keys()
实操:
js = "arguments[0].scrollIntoView();"
search_alert = driver.find_element_by_css_selector("#alerta")
driver.execute_script(js, search_alert)
sleep(2)
search_alert.click()
sleep(2)
alert = driver.switch_to.alert
print(alert.text)
alert.accept()
sleep(2)
2.自定义弹出窗
语法:
通过js方法来处理自定义弹窗,将自定义弹窗隐藏
js ='document.getElementById("side-bar").style.display="none";'
执行js是代码:driver.execute_script(js)
实操:
js1 ='document.getElementById("side-bar").style.display="none";'
js2 ='document.getElementById("iframe_company_mini_div").style.display="none";'
driver.execute_script(js1)
sleep(2)
driver.execute_script(js2)
sleep(2)
3.新窗口切换
语法:
driver.switch_to.window(句柄/id)
获取当前窗口句柄: handles = driver.window_handles 返回一个列表
获取所用窗口句柄: handle = driver.current_window_handle 返回一个字符串
实操:
from selenium import webdriver
from time import sleep
import os
driver = webdriver.Chrome()
url = "file:///" + os.path.abspath("../../练习页面/注册实例.html")
driver.get(url)
driver.maximize_window()
sleep(2)
handle = driver.current_window_handle
print(type(handle))
print(handle)
user = driver.find_element_by_css_selector("#user")
user.clear()
user.send_keys("user123")
sleep(2)
driver.find_element_by_partial_link_text("注册A网页").click()
sleep(2)
handles = driver.window_handles
print(type(handles))
print(handles)
driver.switch_to.window(handles[len(handles)-1])
userA = driver.find_element_by_css_selector("#userA")
userA.clear()
userA.send_keys("root")
sleep(2)
driver.switch_to.window(handle)
sleep(2)
tel = driver.find_element_by_css_selector("#tel")
tel.clear()
tel.send_keys("123456")
sleep(2)
driver.quit()