难错点:遗漏iframe标签
代码实现:
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
url1 = "https://mail.qq.com"
#确保浏览器打开后不会关闭
option = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])
option.add_experimental_option("detach", True)
#配置浏览器驱动
driver = webdriver.Chrome(options=option)
driver.get(url1)
print("=======验证浏览器的基本控制=======")
#针对qq邮箱iframe阻止点击登录
def iframe_enter():
print("1.qq邮箱iframe阻止点击账号密码登录...")
time.sleep(2)
#切换第一个iframe
login_iframe = driver.find_element(By.CLASS_NAME, "QQMailSdkTool_login_loginBox_qq_iframe")
driver.switch_to.frame(login_iframe)
#切换第二个iframen
login_iframe1 = driver.find_element(By.ID,"ptlogin_iframe")
driver.switch_to.frame(login_iframe1)
#定位找回密码按钮
driver.find_element(By.ID, "switcher_plogin").click()
driver.find_element(By.NAME,"u").send_keys("222******") #此处*输入自己的QQ账号
driver.find_element(By.NAME,"p").send_keys("cjy********") #此处*输入自己的QQ密码
driver.find_element(By.ID,"login_button").click()
driver.switch_to.default_content() #退出iframe标签
iframe_enter()