python实现滑块移动操作

自动登录滑动操作

 

 

from selenium import  webdriver
from selenium.webdriver import ActionChains
import time

browser = webdriver.Firefox()
browser.get('https://8888888888/login.jsp')
browser.find_element_by_xpath("/html/body/div[1]/div/div[1]/div[2]/div/div/form/div[2]/input").send_keys('username')
time.sleep(2)
browser.find_element_by_xpath("/html/body/div[1]/div/div[1]/div[2]/div/div/form/div[3]/input").send_keys('password')
time.sleep(2)
gundongz=browser.find_element_by_xpath('//*[@id="slider"]/div[3]')
#点击该元素并且不放开
ActionChains(browser).click_and_hold(gundongz).perform()
#滑动该元素
ActionChains(browser).move_by_offset(xoffset=300, yoffset=0).perform()
#放开该元素
ActionChains(browser).release().perform()
time.sleep(2)
browser.find_element_by_id('btn-submit').click()

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
滑块登录是一种常见的验证码形式,它通过让用户拖动滑块来验证用户的人类身份。以下是一个使用Python实现滑块登录的示例: 1. 安装selenium和WebDriver ```python pip install selenium ``` 并下载浏览器对应的WebDriver,例如Chrome的WebDriver可以在这里下载:https://sites.google.com/a/chromium.org/chromedriver/downloads 2. 导入必要的库 ```python from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time ``` 3. 打开网站并获取滑块和背景图 ```python # 打开网站 url = "https://www.example.com/login" driver = webdriver.Chrome() driver.get(url) # 获取滑块和背景图 slider = driver.find_element_by_class_name("slider") bg_img = driver.find_element_by_class_name("bg-img") ``` 4. 计算滑块需要移动的距离 ```python # 计算滑块需要移动的距离 slider_width = slider.size.get("width") bg_img_width = bg_img.size.get("width") drag_distance = bg_img_width - slider_width ``` 5. 模拟滑动操作 ```python # 模拟滑动操作 action = ActionChains(driver) action.click_and_hold(slider).perform() action.move_by_offset(drag_distance, 0).perform() action.release().perform() # 等待一段时间,等待滑块验证完成 time.sleep(5) # 如果登录成功,可以获取登录后的页面信息 if driver.current_url == "https://www.example.com/login/success": print("登录成功") else: print("登录失败") ``` 完整代码如下: ```python from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time url = "https://www.example.com/login" driver = webdriver.Chrome() driver.get(url) slider = driver.find_element_by_class_name("slider") bg_img = driver.find_element_by_class_name("bg-img") slider_width = slider.size.get("width") bg_img_width = bg_img.size.get("width") drag_distance = bg_img_width - slider_width action = ActionChains(driver) action.click_and_hold(slider).perform() action.move_by_offset(drag_distance, 0).perform() action.release().perform() time.sleep(5) if driver.current_url == "https://www.example.com/login/success": print("登录成功") else: print("登录失败") driver.quit() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值