原文删了重新发布,
封面不统一,简直不能忍 ┑( ̄Д  ̄)┍
原本想做个验证码练习的<( ̄︶ ̄)>
结果没想到铁路12306只剩下滑动验证码了 ( ̄▽ ̄")
这下连超级鹰都省了 ┑( ̄Д  ̄)┍
那就简单来吧,直接上代码 ( ̄(エ) ̄)v
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
import time
# 设置反反selenium, 此方法仅限88及以上版本可用
options = Options()
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options)
# 设置登陆操作
driver.get("https://kyfw.12306.cn/otn/resources/login.html")
driver.find_element_by_xpath('//*[@id="toolbar_Div"]/div[2]/div[2]/ul/li[2]/a').click()
account = driver.find_element_by_xpath('//*[@id="J-userName"]')
account.send_keys("输入账号")
psw = driver.find_element_by_xpath('//*[@id="J-password"]')
psw.send_keys("输入密码")
driver.find_element_by_xpath('//*[@id="J-login"]').click()
time.sleep(2)
# 滑轮验证码处理
scroll = driver.find_element_by_xpath('//*[@id="nc_1__scale_text"]/span')
# 参数(scroll,x,y)
# 300为X轴滑动验证码的长度,源码里面可以找到这个值
ActionChains(driver).drag_and_drop_by_offset(scroll,300,0).perform()
time.sleep(2)
driver.close()