哈喽大家好,我是鹏哥。
今天要记录的内容是 —— 破解Boss直聘网站的滑块验证。
…… 上 课 铃……
1 写在前面
2 跳坑过程
# coding=utf-8# @公众号 : "鹏哥贼优秀"# @Date : 2020/3/20# @Software : PyCharm# @Python version: Python 3.7.2from selenium import webdriverfrom slide_solution import *import timedef visit_website(url):driver = webdriver.Chrome('F:\\Python成长之路\\chromedriver.exe')driver.maximize_window()driver.get(url)time.sleep(1)# 输入帐户密码driver.find_element_by_name('account').send_keys('手机号')driver.find_element_by_name('password').send_keys('password')slide_btn = driver.find_element_by_css_selector('span[class="nc_iconfont btn_slide"]')# 滑块解决方法1slide_solution1(slide_btn,driver)time.sleep(1)driver.find_element_by_class_name('btn').click()time.sleep(5)driver.quit()if __name__ == "__main__":url = 'https://login.zhipin.com/?ka=header-login'visit_website(url)
def slide_solution1(slide_btn,driver):action = ActionChains(driver)action.click_and_hold(slide_btn).perform()for i in range(200):try:action.move_by_offset(i*2,0).perform()except:breakaction.reset_actions()time.sleep(0.1)
尝试解决方法1:
# 配置window.navigator.webdriveoption = webdriver.ChromeOptions()option.add_experimental_option('excludeSwitches', ['enable-automation'])driver = webdriver.Chrome('F:\\Python成长之路\\\滑块问题\\chromedriver.exe',options=option)
尝试解决2:
def slide_solution2():jvmPath = jpype.get_default_jvm_path()# Djava.class.path是本地的sikuliapi.jar包路径,需要提前下载好jpype.startJVM(jvmPath, '-ea', '-Djava.class.path=F:\\sikuli\\1\\sikulixapi.jar')Screen = JClass('org.sikuli.script.Screen')myscreen = Screen()myscreen.drag('start.PNG','end.PNG')time.sleep(0.5)
end.png
start.png
3 滑块验证最终解决方法
4 滑块验证的另一种解决方法
5 总结
…… 下 课 铃……
【往期热门文章】:
【Python成长之路】10行代码教你免费观看无广告版的《庆余年》腾讯视频
【关注“鹏哥贼优秀”公众号,回复“python学习材料”,将会有python基础学习、机器学习、数据挖掘、高级编程教程等100G视频资料,及100+份python相关电子书免费赠送!】
扫描二维码
与鹏哥一起
学python吧!