Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Gray-Ice

个人博客兼个人网站

完成简单的滑块验证

这次内容是使用selenium完成简单的滑块验证,并非拼图哦~

那么简单的滑块到底有多简单呢?它是长这个样子的~

啊这,,是不是感觉自己很久没见过这么easy的滑块了!那么对该滑块感到失望的同学们可以退出我的博客了……

嗯,言归正传,我们是真的要讲这个滑块的,那么为什么不讲讲拼图的滑块呢? 那个太高级辣!我现在还不会搞。

那么开始了: 我使用的是selenium。

建立浏览器实例并请求目标网址(不要在意这个localhost):

1
2
3
4
5
# 建立浏览器实例
browser = Chrome()
# 调整窗口大小
browser.set_window_size(1024, 720)
browser.get(url='http://localhost:8080/login')

然后,定位滑块元素(就是那个圆圈):

1
button = browser.find_element_by_class_name('dv_handler')

声明动作实例并完成滑动:

1
2
3
4
5
6
7
# 声明动作实例
action = ActionChains(browser)
# 点击并且按住
action.click_and_hold(button).perform()
action.reset_actions()
# 参数超过滑块的长度不会滑动,并且实际拖动像素和轨迹长度是有出入的
action.move_by_offset(271,0).perform()

我感觉这个滑动的动作是比较容易被识别出来是机器的,但是对付这种简单的滑块应该还是可以的吧(小声)。

下载验证码图片

直接定位到元素并下载即可

1
browser.find_element_by_xpath('//table/tr[4]/td[2]/img').screenshot('1.png')

那么,完~

评论



愿火焰指引你