import time
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
# 访问网址
driver.get('https://mail.163.com/')
driver.maximize_window() # 浏览器最大化
# 设置隐式等待
# 隐式等待主要针对的是元素定位,在定位时,10秒钟找不到才会报错
# 如果第3秒找到了,那么剩下的7秒不会等待
# 隐式等待是一种全局性设置,可以随时更改,更改之后对之后的定位元素生效
# 针对点击、输入、悬浮等等其他动作一概无效
driver.implicitly_wait(10) # 单位是秒
iframe = driver.find_element(By.XPATH, '//iframe[@frameborder="0"]')
driver.switch_to.frame(iframe) # 完成切换
# 2.可以按照iframe标签的name或者id属性值进行切换
# driver.switch_to.frame('name或者id属性值')
# 3.按照iframe的标签的索引进行切换
# driver.switch_to.frame(0)
driver.find_element(By.NAME,'email').send_keys('123456123')
# 把driver切换回默认的html中
driver.switch_to.default_content()
# 我又想点 企业邮箱,但是他不在登录区域的那个iframe里,而是在默认的html页面中
# 所以我们要将driver切换到默认的页面中
# driver.switch_to.default_content() # 把driver切换回默认的html中
driver.find_element(By.LINK_TEXT,'企业邮箱').click()
# 在多级iframe标签嵌套中,如果你只想返回上一级iframe
# driver.switch_to.parent_frame()
time.sleep(5)