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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!