python3+selenium实现12306自动登录

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.service import Service
import time

driver=webdriver.Chrome(service=Service(r'D:\myfile\webdriver\chromedriver.exe'))
driver.get('https://kyfw.12306.cn/otn/resources/login.html')

driver.implicitly_wait(1)
driver.find_element('id','J-userName').send_keys('用户名')#定位用户名输入框输入用户名
driver.implicitly_wait(1)
driver.find_element('id','J-password').send_keys('密码')#定位密码名输入框输入密码
driver.implicitly_wait(1)
driver.find_element('id','J-login').click()#定位登录按钮,发送登录事件

driver.implicitly_wait(1)
tag=driver.find_element(by=By.CSS_SELECTOR, value='#J-slide-passcode > div.nc_wrapper > div.nc_scale > .nc_iconfont')#定位移动滑块

code=ActionChains(driver)
code.click_and_hold(tag)#点击并按下滑块
code.drag_and_drop_by_offset(tag,360,0)#拖动滑块
script='Object.defineProperty(navigator,"webdriver",{get:()=>false,});'#执行必要的javsscript脚本
driver.execute_script(script)
code.perform() #执行拖动
成功登录

driver.quit()
本代码仅作为学习研究使用

posted @ 2022-04-23 21:36  七言八语  阅读(23)  评论(0)    收藏  举报