'''
模式窗口:只要你不关闭弹窗,页面中其他得操作一概做不了
非模式窗口:不用关闭窗口,页面中也可以做其他得操作
警告框---alert:是一个模式窗口,该怎么使用代码得方式来操作他/
driver对象是在当前页面得窗口内,但是不在alert中,并且我们没有办法定位到这个alert窗口中得元素
driver.switch_to.alert:暂时将浏览器对象driver交给alert
可以对alert警告框做任何事情了
text:返回alert中得文字信息
accept():节后现有得警告框,点击警告框中得"确定"按钮
dismiss():放弃现有警告框,就是点击警告框中得:“取消按钮”
需求:
进入百度首页
鼠标悬停在“设置上”
点击设置下“搜索设置”按钮
选中“每页20条”
保存设置
打印并确认弹窗中提示信息文本
点击确认弹窗中得“确定”按钮
退出浏览器
'''
#导包
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#浏览器,百度
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
#窗口最大化
driver.maximize_window()
#设置进入下一步时间
time.sleep(2)
#点击设置
move=driver.find_element_by_xpath('//*[@id="s-usersetting-top"]')
ActionChains(driver).move_to_element(move).perform()
#设置进入下一步时间
time.sleep(2)
#点击搜索设置
driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[1]').click()
#创建句柄
handle=driver.window_handles
driver.switch_to.window(handle[-1])
#设置进入下一步时间
time.sleep(2)
#点击“每页二十条”
driver.find_element_by_xpath('//*[@id="nr_2"]').click()
#设置进入下一步时间
time.sleep(2)
#保存设置
driver.find_element_by_xpath('//*[@id="se-setting-7"]/a[2]').click()
#设置进入下一步时间
time.sleep(2)
#通过switch_to.alert方法,暂时将浏览器对象driver交给alert。且定义一个弹窗对象变量
al=driver.switch_to.alert
#打印出确认弹窗中得提示信息文本
al_text=al.text
print(al_text)
#设置进入下一步时间
time.sleep(2)
#点击确定弹窗中得“确定”按钮
al.accept()
#设置进入下一步时间
time.sleep(2)
#退出浏览器
driver.quit()