赞
踩
破解网站根据 window.navigator.webdriver属性来判断是否使用自动化工具登录
找到chrome驱动程序,右键使用notepad++或笔记本打开,使用ctrl+F快捷键查找$cdc
将asdjflasutopfhvcZLmcfl中的任何一个或多个字母变成任意其他字母,并保持字符串长度不变
我改成了$cdc_abdjflasutopfhvcZLmcfl_保存即可。
然后设置chrome以开发者模式启动
- option =webdriver.ChromeOptions();#添加启动配置
- option.add_experimental_option('excludeSwitches', ['enable-automation'])#屏蔽chrome自动化受控提示
- option.add_argument("--disable-blink-features=AutomationControlled")#禁用启用Blink运行时的功能去掉webdriver痕迹
- #打开浏览器
- chrome_browser=webdriver.Chrome(chrome_options=option,executable_path='F:\python\chrome驱动\chromedriver.exe')
设置完后 即可成功登录12306
- #跳转到12306首页
- chrome_browser.get('https://www.12306.cn/index/index.html')
- #休眠1秒
- time.sleep(2)
- #找到登录按钮
- login=chrome_browser.find_element_by_link_text('登录')
- #点击登录
- login.click()
- #输入用户名和密码
- username='你的12306账号'
- userpasswd='你的12306密码'
- chrome_browser.find_element_by_id('J-userName').send_keys(username)
- time.sleep(1)
- chrome_browser.find_element_by_id('J-password').send_keys(userpasswd)
- time.sleep(1)
- #点击立即登录
- now_login=chrome_browser.find_element_by_id('J-login')
- now_login.click()
- time.sleep(2)
- #模拟人的拖动速度
- time1 = [2, 4, 3, 5, 3.1, 3.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7,
- 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5.0, 5.1, 5.2]
- t1 = random.choice(time1)
- def get_track(distance, t): # distance为传入的总距离,a为加速度
- track = []
- current = 0
- mid = distance * t / (t + 1)
- v = 0
- while current < distance:
- if current < mid:
- a = 3
- else:
- a = -1
- v0 = v
- v = v0 + a * t
- move = v0 * t + 1 / 2 * a * t * t
- current += move
- track.append(round(move))
- return track
- #生成随机拖动
- mytrack=get_track(300,t1)
- #验证模块
- #定位验证弹出框
- verify_action=chrome_browser.find_element_by_id('nc_1_n1z')
- # 按住滑块
- ActionChains(chrome_browser).click_and_hold(verify_action).perform()
- time.sleep(0.15)
- for x in mytrack:
- # 移动滑块
- ActionChains(chrome_browser).move_by_offset(x, 0).perform()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。