使用selenium自动登录邮箱
#1、selenium简介
Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。话说回来,PhantomJS不也是一个浏览器吗,那么 Selenium 支持不?答案是肯定的,这样二者便可以实现无缝对接了。
#2、selenium实现自动登录163邮箱
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "wxwinder"
# __email__ = "[email protected]"
# __website__ = "www.cnblogs.com/bravexz"
# Date: 2019/3/5
import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
browser = webdriver.Chrome()
wait = WebDriverWait(browser,20)
def submit11(url):
# browser.switch_to.frame(0)
try:
browser.get(url)
# time.sleep(1)
# user = browser.find_element_by_class_name('j-inputtext dlemail')
# time.sleep(1)
# passwd = browser.find_element_by_class_name('j-inputtext dlpwd')
user = wait.until(
EC.visibility_of_all_elements_located((By.NAME, 'email'))
)
passwd = wait.until(
EC.visibility_of_all_elements_located((By.NAME,'password'))
)
submit = wait.until(
EC.visibility_of_all_elements_located((By.ID,'dologin'))
)
user.clear()
user.send_keys('xxxxxxxxxxxxxxx')
passwd.clear()
passwd.send_keys('xxx.')
submit.click()
except TimeoutException:
submit11(url)
print('a')
def main():
url = 'https://mail.163.com/'
submit11(url)
if __name__ == "__main__":
main()
```