• selenium3+Python 163邮箱自动发邮件


    最近开始搞测试,不管是lr还是selenium,各种版本兼容,环境配置。。。心累。。。

    刚刚成功的完成了自动发邮件

    我的环境是:firefox55+selenium3.4.3+Python3.5.2

    遇到的问题:firefox驱动:geckodriver下载好之后添加在PATH环境变量中,并且firefox也得添加到环境变量中

    后面遇到的问题主要是定位不到:

    1.进入游览器之后加一句dr.implicitly_wait(30),我猜是页面还没渲染完成,所以会定位不到

    2.登入界面在iframe里,所以得切换到  dr.switch_to.frame

    3.id是动态的_mail_component_70_70后面数字会变,用xpath,或者是利用类似dr.find_element_by_css_selector("div[id^='_mail_input_2']>input.nui-ipt-input")一层一层的找,id^='_mail_input_2‘表示以_mail_input_2开头的id

    from selenium import webdriver
    from time import sleep
    dr = webdriver.Firefox()
    dr.get("http://mail.163.com/")
    dr.find_element_by_id("lbNormal").click()
    dr.implicitly_wait(30)
    xf = dr.find_element_by_xpath('//*[@id="x-URS-iframe"]')
    dr.switch_to.frame(xf)
    dr.find_element_by_name("email").clear()
    dr.find_element_by_name("email").send_keys("邮箱账户")
    dr.find_element_by_name("password").clear()
    dr.find_element_by_name("password").send_keys("密码")
    dr.find_element_by_id("dologin").click()
    dr.switch_to.default_content()
    dr.find_element_by_xpath(".//*[@id='_mail_component_70_70']").click()
    sleep(1)
    dr.find_element_by_class_name("nui-editableAddr-ipt").clear()
    dr.find_element_by_class_name("nui-editableAddr-ipt").send_keys("收件箱")
    
    dr.find_element_by_css_selector("div[id^='_mail_input_2']>input.nui-ipt-input").send_keys("测试webweb") 
    af = dr.find_element_by_class_name('APP-editor-iframe')
    dr.switch_to.frame(af)
    dr.find_element_by_xpath('//body[@class="nui-scroll"]').send_keys("Good study, day day up!")
    dr.switch_to_default_content()
    dr.find_element_by_css_selector("div[id^='_mail_button_2']>span.nui-btn-text").click()
  • 相关阅读:
    python基础4
    python的基础数据类型和编码
    python的if语句和while循环
    java特殊运算符
    深入理解java集合
    python常用模块
    python函数的参数问题
    集合关系之间的运算
    集合
    可变类型与不可变类型
  • 原文地址:https://www.cnblogs.com/laoguigui/p/7363768.html
Copyright © 2020-2023  润新知