冻结界面
当想要查看悬停时才显示的元素的HTML时,可以在浏览器控制台中使用如下代码:
setTimeout(function(){debugger}, 5000)
代表经过5000毫秒后浏览器进入debug状态,界面冻结
对话框操作
弹出的对话框不属于HTML内容
alert:警告窗口或提示窗口
confirm:确认窗口
prompt:输入后确认窗口
如何点击OK按钮
driver.switch_to.alert.accept()
如何获取信息?
driver.switch_to.alert.text
如何输入信息?
send_keys()
switch_to.alert获取当前的提示框对象
代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
if __name__ == '__main__':
wd = webdriver.Chrome()
wd.implicitly_wait(20)
wd.get("https://cdn2.byhy.net/files/selenium/test4.html")
# alert对话框
alert = wd.find_element(By.CSS_SELECTOR, "#b1")
alert.click() # 出现警告
alert_text = wd.switch_to.alert.text
print(alert_text)
wd.switch_to.alert.accept() # 接受
# confirm对话框
# ok:accept()
# cancel:dismiss()
confirm = wd.find_element(By.CSS_SELECTOR, "#b2")
confirm.click()
confirm_text = wd.switch_to.alert.text
print(confirm_text)
wd.switch_to.alert.dismiss()
# prompt对话框
# 输入:send_keys
prompt = wd.find_element(By.CSS_SELECTOR, "#b3")
prompt.click()
prompt_alert = wd.switch_to.alert
prompt_alert.send_keys("123456")
print(prompt_alert.text)
prompt_alert.accept() # 点击确定
input()