selenium + pycharm

 简单写了一个邮箱登陆 有一些入门的知识难点可以看一下

 

复制代码
# 从 selenium 中导入 webdriver
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
# 设置驱动程序
driver = webdriver.Chrome()
# 设置等待时间
# 最大化窗口
driver.maximize_window()
driver.implicitly_wait(5)
# 设置打开的网址
# 百度
driver.get("https://www.baidu.com")
# 邮箱
# driver.get("https://mail.163.com/")

# 搜索内容
sleep(2)
driver.find_element(By.ID,"kw").send_keys("163邮箱")
# 点击搜索按钮
sleep(2)
driver.find_element(By.ID,"su").click()

# 通过绝对路径获取到第一个查询道德的结果 但是不能排除是否存在广告数据
sleep(2)
driver.find_element(By.XPATH,'//div[@id="content_left"]/div[1]/div[1]/div[1]/h3[1]/a[1]').click()
# 绝对路径找到iframe
# 登陆
driver.delete_all_cookies()
sleep(2)
# 进入登陆的ifarme


windows = driver.current_window_handle #定位当前页面句柄
all_handles = driver.window_handles  # 获取全部页面句柄
for handle in all_handles:  # 遍历全部页面句柄
    if handle != windows:  # 判断条件 如果当前的展示的页面不是最开始的页面那么将切换页面
        driver.switch_to.window(handle)
# 进入163邮箱的用户输入表单
driver.switch_to.frame(driver.find_element(By.XPATH,"/html[1]/body[1]/div[2]/div[3]/div[1]/div[1]/div[4]/div[1]/div[1]/iframe[1]"))
# 输入信息
driver.find_element(By.NAME,"email").send_keys("")
driver.find_element(By.NAME,"password").send_keys("")
sleep(1)
driver.find_element(By.ID,"dologin").click()
# 退出之前登陆的iframe
driver.switch_to.default_content()
driver.implicitly_wait(5)
# 收件箱
driver.find_element(By.XPATH,"/html[1]/body[1]/div[1]/nav[1]/div[1]/ul[1]/li[1]").click()
sleep(2)
driver.find_element(By.XPATH,"/html[1]/body[1]/div[1]/nav[1]/div[1]/ul[1]/li[2]").click()
sleep(1)
# 收件人
driver.find_element(By.XPATH,"/html[1]/body[1]/div[2]/div[1]/div[3]/div[1]/section[1]/header[1]/div[1]/div[1]/div[1]/div[2]/div[1]/input[1]").send_keys("562901827@qq.com")
driver.find_element(By.XPATH,"//div[@class='bz0']/div/input[@class='nui-ipt-input']").send_keys("测试标题")
driver.find_element(By.CLASS_NAME, 'O0').send_keys(r'C:\Users\AA\Desktop\1.jpg')
# 进入iframe
driver.switch_to.frame(driver.find_element(By.CLASS_NAME,'APP-editor-iframe'))
sleep(1)
driver.find_element(By.CLASS_NAME,'nui-scroll').send_keys("这是内容")
sleep(1)
# 返回之前的iframe
driver.switch_to.default_content()
sleep(1)

driver.find_element(By.XPATH,'//footer[@class="jp0"]/div/span').click()
# 隐式等待
sleep(1)
driver.implicitly_wait(10)
driver.find_element(By.LINK_TEXT,"查看已发邮件").click()
复制代码

 

posted @   热心居民  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示