Slider verification code (selenium)

Today is the study of the slider verification code.

url:https://kyfw.12306.cn/otn/resources/login.html

The next thing we want to do is this slider authenticated login:

1. Get the label:

 

 

 To get the value, just right-click to copy, and directly select what you want (there are selector, xpath, etc., you can choose the one you are proficient in)

2. Anti-blocking (this website is blocked, so we have to write an anti-blocking, otherwise the slide will not pass, as shown below)

# 反屏蔽
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
    'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
})

 3. There is nothing to write. This is very simple, so I will directly write the code.

from selenium.webdriver.common.by import By
from selenium import webdriver
import time
from selenium.webdriver import ActionChains
from PW.mm import USER, WORD    #自己的账号密码包

url = 'https://kyfw.12306.cn/otn/resources/login.html'
driver = webdriver.Chrome()
# 反屏蔽
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
    'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
})
driver.implicitly_wait(10)
driver.get(url)
driver.maximize_window()
time.sleep(2)
# 输入账号
driver.find_element(By.ID, 'J-userName').send_keys(USER)
# 输入密码
driver.find_element(By.ID, 'J-password').send_keys(WORD)
# 点击
driver.find_element(By.CSS_SELECTOR, '#J-login').click()
driver.find_element(By.CSS_SELECTOR, "#nc_1_n1z").click()
def slidermove():
    # 获取滑块位置
    slider = driver.find_element_by_css_selector('#nc_1_n1z')
    # 获取滑条
    Slidebar = driver.find_element_by_css_selector("#nc_1__scale_text > span")
    # 拖动滑块滑条末尾
    ActionChains(driver).drag_and_drop_by_offset(slider, Slidebar.size['width'], -slider.size['height']).perform()
slidermove()

 For the account password package, just register an account and create a .py file.

#12306平台的登录
USER='xxxx'
WORD='xxxxx'

OK, that's it, super simple. 

Guess you like

Origin blog.csdn.net/qq_62870237/article/details/124432417