python2+selenium+mail,自动登录126邮箱

在进行登录126邮箱时有几个坑,要完美避过可以看一下下文,直接上代码:

#encoding = utf-8

from selenium import webdriver
import unittest
import time
class login126(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path = "chromedriver")

def test_login(self):
self.driver.get("https://mail.126.com/")
time.sleep(3)
#此处的登录框是在iframe里,所以一定要先进入iframe,然后才能找到元素
self.driver.switch_to.frame(self.driver.find_element_by_xpath(".//*[@id=‘x-URS-iframe‘]"))
time.sleep(3)
#登录和密码输入框要切记不要用ID来进行定位,每次登录ID都会进行变化的
self.driver.find_element_by_xpath(".//*[@data-placeholder=‘邮箱帐号或手机号‘]").send_keys(‘xxxx‘)
self.driver.find_element_by_xpath(‘//*[@data-placeholder="密码"]‘).send_keys(‘xxxxx‘)
self.driver.find_element_by_xpath(‘//*[@id="dologin"]‘).click()
## self.driver.switch_to.default_content()
#断言前要等待页面加载出来后在进行断言
time.sleep(10)
assert u‘退出‘ in self.driver.page_source

def tearDown(self):
self.driver.quit()

if __name__ == ‘__main__‘:
unittest.main()

原文地址:https://www.cnblogs.com/bettywang/p/9159684.html

时间: 2024-08-29 20:42:51

python2+selenium+mail,自动登录126邮箱的相关文章

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

5、Selenium+Python自动登录163邮箱发送邮件

1.Selenium实现自动化,需要定位元素,以下查看163邮箱的登录元素 (1)登录(定位到登录框,登录框是一个iframe,如果没有定位到iframe,是无法定位到账号框与密码框) 定位到邮箱框(name='email') 定位到密码框(name='password') 定位到登录按钮(id="dologin") 2.代码实现 #coding=utf-8 import time from selenium import webdriver broswer = webdriver.I

python webdriver 显示等待-自动登录126邮箱,添加联系人

脚本内容:#encoding=utf-8#author-夏晓旭from selenium import webdriverimport timefrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.common.by import Byfrom selenium.common.exceptions import TimeoutException, NoSuchElementExceptioni

Selenium登录126邮箱,定位不到账号输入框解决办法

用firebug去定位126邮箱登录页面的账号密码输入框,查看元素时发现ID每次都是变动的,不能用ID定位 使用xpath定位,发现每次定位都会失败,后来发现这个登录的账号密码输入框,是嵌套在表单iframe中,所以定位时,要先进入iframe里面才能正确定位 iframe/frame的定位方式有3种,一是通过ID,而是通过name,三是xpath 例如: switch_to_frame(id): switch_to_frame(name): 若是没有ID和name,那么只能通过xpath方式定

python webdriver firefox 登录126邮箱,先添加联系人,然后进入首页发送邮件,带附件。

代码:#encoding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_condition

【webdriver自动化】使用unittest实现自动登录163邮箱然后新建一个联系人

#练习:登录163邮箱然后新建一个联系人 import unittest import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.su

爬虫 + 数据分析 - 4 异步协程, selenium使用, 自动登录

一.单线程+异步协程 1.基本概念: event_loop:事件循环,相当于一个无限循环,我们可以把一些特殊函数注册(放置)到这个事件循环上, 当满足某些条件的时候,函数就会被循环执行.程序是按照设定的顺序从头执行到尾,运行的次数也是完全按照设定. 当在编写异步程序时,必然其中有部分程序的运行耗时是比较久的,需要先让出当前程序的控制权,让其在背后运行, 让另一部分的程序先运行起来.当背后运行的程序完成后,也需要及时通知主程序已经完成任务可以进行下一步操作, 但这个过程所需的时间是不确定的,需要主

使用selenium自动登录126/163邮箱并发送邮件

我使用的是python2.7.13+selenium ps:几天之前,我曾多次尝试写这段代码,但是在点击写信的步骤时失败了,我想我的问题应该大致是这几点: 1.写信按钮不能直接定位到,同时它的父目录id是动态的,我当时使用xpath定位到了这个动态的id,所以失败是必然的,那么就需要我们继续寻找向上寻找父目录,即多层级的xpath(建议多使用xpath/css)成功率会更高,因为层级越少,那么出现重复的可能越大(比如126写信中的主题的class和搜索框的class是一样的,当然还有很多) 2.

[转][Python][自动登录163邮箱]

#-*- coding:UTF-8 -*-import urllib,urllib2,cookielibimport xml.etree.ElementTree as etree #xml解析类 class Login163:   #伪装browser    header = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}    us