之前见到有很多人发用selenium来操作163,发送邮件,自己也写一个。让大家熟悉一下selenium的一些方法。话不多说,代码奉上。
from selenium import webdriver
import time
def login():
driver = webdriver.Chrome()
driver.get('http://mail.163.com')
driver.maximize_window()
time.sleep(3)
#通过观察,那个登陆页面的输入方法在一个嵌套的页面中,所以这里用一个新的方法来直接切换到我们的页面中
driver.find_element_by_id('switchAccountLogin').click()
iframe = driver.find_element_by_xpath('//div[@id="loginDiv"]/iframe')
#driver.switch_to_frame(iframe)这个说是被弃用了
driver.switch_to.frame(iframe)
email_name=driver.find_element_by_name('email')
email_pass=driver.find_element_by_name('password')
email_name.clear()
email_name.send_keys('...........')#这里填你的账号
email_pass.clear()
email_pass.send_keys('...........')#这里填你的密码
driver.find_element_by_id('dologin').click()
time.sleep(5)
driver.find_element_by_id('_mail_component_24_24').click()
time.sleep(3)
recipients=driver.find_element_by_xpath('//div[@id="_mail_emailinput_0_103"]/input')
recipients.clear()
recipients.send_keys('[email protected]')
theme=driver.find_element_by_xpath('//div[@id="_mail_input_0_104"]/input')
theme.clear()
theme.send_keys('我是电脑')
#这里我看到这个文本输入框在在一个切面中,所以我们要切换iframe
xin_iframe=driver.find_element_by_xpath('//div[@class="APP-editor-edtr"]/iframe')
driver.switch_to.frame(xin_iframe)
p=driver.find_element_by_xpath('//body/p')
p.clear()
while True:
pass
#time.sleep(10)
# time.sleep(10)
# pass
if __name__ == '__main__':
login()
都看到这里了,希望大家能够点个赞,谢谢了。