利用Python与selenium自动化模拟登陆12306官网!

前言:

近年来,12306的反爬越来越来严重,从一年前的 获取tk参数后到现在增加了 JS、CSS等加密方式!

目前大部分人利用的登陆方式都是利用selenium ,此文也不例外。

环境:

Windows

  python 3.6.5

模块:

selenium

  pyautogui

time

第一步:

实例化一款浏览器,并进入到12306官网
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:595948765
欢迎加入,一起讨论 一起学习!

利用Python与selenium自动化模拟登陆12306官网!
driver = webdriver.Chrome()
driver.get('https://kyfw.12306.cn/otn/resources/login.html')
driver.implicitly_wait(10)
driver.maximize_window()

第二步:

点击账号登陆

driver.find_element_by_xpath('//*[@id="J-userName"]').send_keys('123456')
driver.find_element_by_xpath('//*[@id="J-password"]').send_keys('123456')
利用Python与selenium自动化模拟登陆12306官网!

第三步:

在输入框中,模拟输入账号密码:

driver.find_element_by_xpath('//*[@id="J-userName"]').send_keys('123456')
driver.find_element_by_xpath('//*[@id="J-password"]').send_keys('123456')
利用Python与selenium自动化模拟登陆12306官网!

第四步:

当账号密码输入完毕后,我们应该要做的就是 模拟点击验证码图片了!

那么首先把图片下载下来:

yzm_code = driver.find_element_by_xpath('/html/body/div[2]/div[2]/div[1]/div[2]/div[3]/div')
yzm_code.screenshot('yzm.png')
利用Python与selenium自动化模拟登陆12306官网!

第五步:

验证码下载下来后就可以为所欲为了,不管是对接打码平台也好,自己训练模型,或者利用代码模拟点击也是可以的!

前面两种方法根本没法讲,所以这里采用第三种方式,进行模拟点击。

在这里 说说我们需要达到的效果,验证码上总共有8张图,那么我想达到的效果就是我输入1,2,3那么程序自动点击1,2,3三张图片。

所以我们先获取到每个图片的中心点坐标,这里是有规律的,聪明人肯定一看就懂了。

我这里这个是随便写的:

code = input('请输入验证码:')
time.sleep(5)
point_map = {    '1': '40,45',   
  '2': '116,53',   
  '4': '257,50',  
  '5': '40,121',  
  '6': '116,133', 
  '3': '185,52',  
  '7': '185,132',  
  '8': '257,130'
}
def get_point(indexs):
    indexs = indexs.split(',')
    temp = []
    for index in indexs:
        temp.append(point_map[index])
        print(temp)
    return temp


temp = get_point(code)

这两串代码就不解释了,很基础的东西。最终的效果就是 输入1,2 那么得到的是一个列表:

[ '40,45','116,53']

记住,这个坐标只是 验证码图片上的坐标,不是整个屏幕的全局坐标!!!!

那么如何取全局坐标?验证码顶点(1206,428)+验证码的坐标,即全局坐标!这里的 (1206,428)请自行测试!

利用Python与selenium自动化模拟登陆12306官网!

第六步:

模拟点击,利用到pyautogui这个模块。切记,利用此模块前一定要加延迟进行画面切换。

(此文只做方法学习,并没有任何其它意思,正常情况都是对接打码平台!希望大家能学以致用,在其它的编程过程中用的到这些方法!)

for i in temp:
    indexs = i.split(',')
    x = int(indexs[0])
    y = int(indexs[1])
    pyautogui.click(1206+x, 428+y)

最后点击登录即可!

driver.find_element_by_xpath('//*[@id="J-login"]').click()
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 在上海的人都知道,上海的汽车牌照是多么的难以获得,现在只能通过参加网上拍卖的方式获得,下面来探讨一下如何通过编写程...
    学哥量化交易学习阅读 6,438评论 2 13
  • 4.多年来,小学生在科学考试中会碰到这种问题:"对或错--著名的土星环由固体物质组成。"如果学生回答的是"对",那...
    sxrunn阅读 140评论 0 1
  • 一颗蒲公英种子来到我的桌上, 它扑腾着 找落脚的地方。 不知道走过多少地方, 最后 来到这里。 蒲公英的情人应该是...
    像镜阅读 879评论 0 5
  • 文/扬蹄 2017年12月6日 星期三 晴 佛理说,“苦是人生本质,而快乐只是对痛苦的一种缓解。” 瞬间我懵逼惹!...
    扬蹄阅读 683评论 2 1