【selenium】126官网邮箱登录
模拟场景说明:访问126邮箱官网,输入用户名、密码,点击登录
难点说明:因为126首页的登录框在一个iframe框架中,所以直接定位是定位不到的,,就好比面前放了一个玻璃盒子,里面有一个苹果,你能看见,但是直接拿你是拿不到的,需要先把盒子打开,进去了才能拿到苹果。因此我们需要先切进iframe中才能定位到用户名、密码、登录按钮元素
注意:因为iframe的id是动态的,所以我们只能通过其他方法定位iframe,iframe的定位方法有:id,name,index等,这里我用name元素定位iframe
# encoding=utf8
from selenium import webdriver
import time
# 获取浏览器句柄
firefox_driver = webdriver.Firefox()
url_126 = "https://mail.126.com/"
# 访问126首页
firefox_driver.get(url_126)
time.sleep(5)
# 窗口最大化
firefox_driver.maximize_window()
# 切进iframe
iframe_element = firefox_driver.find_element_by_name("")
firefox_driver.switch_to.frame(iframe_element)
# 输入用户名、密码
firefox_driver.find_element_by_xpath("html/body/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/input").\
send_keys("username")
firefox_driver.find_element_by_xpath("html/body/div[2]/div[2]/div[2]/form/div/div[3]/div[2]/input[2]").\
send_keys("password")
firefox_driver.find_element_by_id("dologin").click()
time.sleep(10)
# 关闭浏览器
firefox_driver.quit()