51Testing软件测试论坛

标题: 验证qq邮箱登录时遇到滑块验证怎么验证不了,有人知道吗 [打印本页]

作者: 测试积点老人    时间: 2022-5-16 11:18
标题: 验证qq邮箱登录时遇到滑块验证怎么验证不了,有人知道吗
  1. import time
  2. from selenium.webdriver import Chrome
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver import ActionChains

  5. driver = Chrome()
  6. driver.get('https://mail.qq.com/')
  7. driver.implicitly_wait(3)
  8. driver.maximize_window()
复制代码
通过iframe标签的name属性
  1. driver.switch_to.frame('login_frame')
复制代码
通过定位iframe标签,进行切换
  1. loc_if = (By.ID,'login_frame')
  2. iframe_ele = driver.find_element(*loc_if)
  3. driver.switch_to.frame(iframe_ele)
  4. loc01 = (By.ID,'switcher_plogin')
  5. loc_name = (By.ID,'u')
  6. loc_paw = (By.ID,'p')
  7. loc_but = (By.ID,'login_button')

  8. driver.find_element(*loc01).click()
复制代码
输入账号密码
  1. driver.find_element(*loc_name).send_keys('42564719')
  2. driver.find_element(*loc_paw).send_keys('sfsdvsdg')
  3. driver.find_element(*loc_but).click()
复制代码
切换到滑动验证码的iframe中
  1. tcaptcha = driver.find_element('id', "tcaptcha_iframe")
  2. driver.switch_to.frame(tcaptcha)
复制代码
选择拖动滑块的节点
  1. sli_ele = driver.find_element('id', 'tcaptcha_drag_thumb')
  2. act = ActionChains(driver)
复制代码
点击鼠标
  1. act.click_and_hold(sli_ele)
复制代码
移动鼠标
  1. act.move_by_offset(xoffset=180, yoffset=0)
复制代码
释放鼠标
  1. act.release()
  2. act.perform()
  3. time.sleep(10)

  4. driver.quit()
复制代码




作者: 郭小贱    时间: 2022-5-17 09:19
脚本执行后,滑块有移动的动作吗?还是滑块本身就没有定位成功呢?
作者: qqq911    时间: 2022-5-17 11:10
检查下定位到了没
作者: kallinr    时间: 2022-5-17 11:38
检查定位
作者: jingzizx    时间: 2022-5-17 13:26
看操作,或者能不能跳过去
作者: 海海豚    时间: 2022-5-17 14:16
主要看下有没有正确定位到滑块




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2