2024年3月20日,增加绕过滑块验证代码。
登录和退出过程中用到的知识有:1网页元素的定位(用了八种方法中的四种:XPATH,TAG_NAME,ID,CLASSNAME);2输入文本;3点击元素;4嵌套网页的跳转;5在确定网页元素时用到了浏览器开发者工具(F12)。
#python 版本2022.3
#首先是登录过程
#引用
from selenium import webdriver #selenium 版本4.80
from selenium.webdriver.common.by import By
from time import sleep
#浏览器驱动初始化
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(chrome_options=options)
#网页最大化
driver.maximize_window()
#打开国家中小学智慧教育平台首页
driver.get('https://basic.smartedu.cn/')
sleep(4)
#点击登录按钮,进入登录页面
driver.find_element(By.XPATH,'//*[@id="header"]/div/div[2]/div[2]/div[2]/div[2]/div/a[1]/div').click()
sleep(4)
#转到iframe嵌套网页
q1=driver.find_elements(By.TAG_NAME,'iframe')
driver.switch_to.frame(q1[0])
sleep(1)
#填写手机号和密码,打勾,点击登录
driver.find_element(By.ID,'loginName').send_keys('这里是你的手机号')
driver.find_element(By.ID,'password').send_keys('这里是你的登录密码')
driver.find_element(By.ID,'agreementCheck').click()
driver.execute_script("window.sliderFlag = true;")
driver.find_element(By.XPATH,'/html/body/div/div/div/div/div/div/div[1]/div[1]/form/div[3]/button').click()
sleep(8)
#安全退出
#点击个人图标
driver.find_element(By.XPATH,'//*[@id="header"]/div/div[2]/div[2]/div[2]/div[2]/div/div/a/div').click()
sleep(3)
#点击安全退出
driver.find_element(By.CLASS_NAME,'index-module_panel-logout_bpb5u').click()
input('输入回车键退出:')