Selenium学习二——自动登陆163邮箱并发送邮件
来源:互联网 发布:淘宝网小众女鞋店 编辑:程序博客网 时间:2024/05/16 07:16
Selenium学习二——自动登陆163邮箱并发送邮件
编程过程中遇到的问题就是元素定位不到,因为id的值是每次登陆是会变化的,所以用css_selector的多层模式去定位元素。
如发送按钮:
网页源码:
利用css_selector定位:
driver.find_element_by_css_selector(“div[@id^='_mail_button_2']>span.nui-btn-text”)
^用于匹配一个前缀,$用于匹配一个后缀,*用于匹配任意字符
#coding:utf-8from selenium import webdriverimport timedriver = webdriver.Chrome()url = "http://mail.163.com/"driver.get(url)time.sleep(2)#跳转到登陆frameelement = driver.find_element_by_id("x-URS-iframe")driver.switch_to.frame(element)time.sleep(2)#登陆邮箱driver.find_element_by_name("email").send_keys("xxx")driver.find_element_by_name("password").send_keys("xxx")time.sleep(2)driver.find_element_by_id("dologin").click()time.sleep(6)print "login in"#点击写信driver.find_element_by_xpath(".//*[@id='_mail_component_68_68']").click()print "click ok"time.sleep(6)#写入发送人和邮件主题driver.find_element_by_class_name('nui-editableAddr-ipt').send_keys("xxx")time.sleep(3)driver.find_element_by_css_selector("div[id^='_mail_input_2']>input.nui-ipt-input").send_keys("selenium")#编写邮件内容,首先切换frameframe = driver.find_element_by_class_name("APP-editor-iframe")driver.switch_to.frame(frame)driver.find_element_by_class_name("nui-scroll").send_keys("xxx")#返回上一层framedriver.switch_to.default_content()time.sleep(6)#点击发送邮件driver.find_element_by_css_selector("div[id^='_mail_button_2']>span.nui-btn-text").click()
注意:写邮件时,要先切换frame到邮件内容的frame,最后切换回来,再点击发送。
阅读全文
0 0
- Selenium学习二——自动登陆163邮箱并发送邮件
- [selenium]实现自动登录163邮箱并发送邮件
- 自动模拟邮箱登陆并发送邮件
- 【Python3.6爬虫学习记录】(八)Selenium模拟登录新浪邮箱并发送邮件
- selenium+python 实现163邮箱自动发送
- 邮箱自动发送邮件
- 邮箱系统原理——创建邮件内容并发送
- python实现自动登录qq邮箱,写邮件并发送
- Java邮箱自动发送邮件
- 使用selenium自动发送QQ邮件(二)
- php 模拟163邮箱模拟登陆发送邮件
- 163邮箱 发送邮件
- selenium模拟登陆163邮箱
- java自动发送邮件到目标邮箱
- PHP 实现 注册等的邮箱验证 (二)—— 使用 PHPMailer 发送邮件
- selenium+python模拟登陆163邮箱
- Linux——使用mail发送邮件给外部邮箱
- Python Selenium实现自动登录163邮箱
- android studio gradle构建出错
- First blog
- c# 判断一个字符串列表中是否已经包括指定字符
- AngularJS route与table表单
- DQL数据库查询语言
- Selenium学习二——自动登陆163邮箱并发送邮件
- 自定义ViewGroup显示历史搜索
- keepalived高可用
- HDU 3715 Go Deeper(二分+2-SAT总结)
- 交叉编译Linux arm
- 面试题39:二叉树的深度
- Merge Two Sorted Lists--LeetCode
- Linux
- ssm上传图片