能够定位到写信界面的主题栏,程序也没有报错。就是向主题栏输入内容不成功,Btheme.send_keys('hello')执行没有报错但是主题栏就是一直为空。同样的方法输入收件人却没有问题。代码如下:
==========================================
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser=webdriver.Chrome()
browser.get('https://mail.163.com/')
time.sleep(5)
browser.switch_to.frame(0)
Ban=browser.find_element_by_name('email')
Ban.send_keys('账号')
Bpw=browser.find_element_by_name('password')
Bpw.send_keys('密码')
#time.sleep(5)
Bli=browser.find_element_by_id('dologin')
Bli.click()
#登录完毕
time.sleep(5)
Bwe=browser.find_element_by_id('_mail_component_59_59')
Bwe.click()
#输入收件人
Badd=browser.find_element_by_class_name('nui-editableAddr-ipt')
Badd.send_keys('对方账号')
Badd.send_keys(Keys.ENTER)
Btheme=browser.find_element_by_class_name('nui-ipt-input')
Btheme.send_keys('hello')
#向富文本框中输入要先定位iframe,有ID或者NAME的可以直接定位,没有的要先定位iframe才行
browser.switch_to.frame(browser.find_element_by_class_name("APP-editor-iframe"))
Bcontent=browser.find_element_by_xpath('/html/body')
Bcontent.send_keys('hello')
#结束后要退出当前frame
browser.switch_to_default_content()
Bsub=browser.find_element_by_class_name('nui-toolbar-item')
Bsub.click()
===============================================
<p>如果你只是要发邮件,没必要用模拟输入点击这么麻烦,直接找发邮件的库用就行了,比如自带的email,smtplib库</p>
主要还是学习一下,并不是非要发邮件什么的,后来自己也发现问题的,定位定的错了,有同名的元素在。感谢
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。