Selenium滑块验证,修改滑块元素与元素定位即可。废话不多说,直接上代码吧。
复用率极高
while True:
try:
# 定位滑块元素
source = dr.find_element_by_class_name("cpt-drop-btn")
# 定义鼠标拖放动作
ActionChains(dr).drag_and_drop_by_offset(source, 400, 0).perform()
# 等待JS认证运行,如果不等待容易报错
sleep(2)
# 查看是否认证成功,获取text值
text = dr.find_element_by_xpath("//div/dl/dd/div[1]")
# 目前只碰到3种情况:成功(请在在下方输入验证码,请点击图);无响应(请按住滑块拖动);失败(哎呀,失败了,请刷新)
if text.text.startswith(u'请在下方'):
print('成功滑动')
break
if text.text.startswith(u'请点击'):
print('成功滑动')
break
if text.text.startswith(u'请按住滑块,拖动到最右'):
sleep(1)
dr.get_screenshot_as_file("D:\cnblogtest\\b.png")
sleep(1)
except Exception as e:
dr.find_element_by_xpath("//div[@id='havana_nco']/div/span/a").click()
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:http://yuanqiyk.com/62