这是一个有问题的代码,摆弄了很久,找不到解决的办法,希望看到我错误的大神给于留言指点。也可以发邮件给我,邮箱aixuexiba666@126.com,大家有高明的解决方案,欢迎大佬指教。谢谢!
我的问题主要出在点击“写信”按钮无反应。无法准确找到获取该按钮,并有反应的方法。
发现下面这位博主和我的问题基本一样。没有很好的解决方法。https://www.cnblogs.com/yin-tao/p/7244082.html
同样使用这位老哥的方法也都无法解决。https://blog.csdn.net/mrlevo520/article/details/51954203
#-*- coding:utf-8 -*-
from selenium import webdriver
import selenium.webdriver.support.ui as ui
from time import sleep
# 目标邮箱账号
target_email1 = "***@126.com"
target_email2 = "***@163.com"
url='https://mail.163.com/'
def emails_login(url):
driver = webdriver.Firefox()
driver.implicitly_wait(30)
#最大化窗口
driver.maximize_window()
driver.get(url)
#切换到表单
driver.switch_to.frame("x-URS-iframe")
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys('zgd666')
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys('gdz666')
driver.find_element_by_id("dologin").click()
driver.switch_to_window(driver.current_window_handle)
# print driver.current_window_handle
##以上能够打印出正确的新页面网址
driver.find_element_by_xpath("//div[@id='dvNavTop']/ul/li[2]/span[2]").click() # 点击写信按钮
#文体出现在为啥写信按钮无法加载???
sleep(2)
driver.find_element_by_class_name('nui-editableAddr-ipt').send_keys('16634629@qq.com') # 收件人
driver.find_element_by_xpath("//input[@class='nui-ipt-input' and @type='text' and @maxlength='256']").send_keys(u'给大佬发个邮件')# 主题
xpath = driver.find_element_by_xpath("//div[@class='APP-editor-edtr']/iframe")
driver.switch_to_frame(xpath) # 文本内容在iframe中
driver.find_element_by_xpath("//body[@class='nui-scroll' and @contenteditable='true']").send_keys(u'很膜拜大佬')
driver.switch_to_default_content() # 发送按钮在iframe外,所以需要跳出
driver.find_element_by_xpath("//div[@class='nui-toolbar-item']/div/span[2]").click() #发送
if __name__=="__main__":
emails_login(url)
webdriver学习参考很好的链接:
https://www.cnblogs.com/101718qiong/p/8250104.html
https://blog.csdn.net/mrlevo520/article/details/51954203