selenium处理滑块验证码(最简单的滑块)

selenium处理滑块验证码(最简单的滑块)_第1张图片

解决上面的滑块验证,这种只要用鼠标点击并移动指定距离就可以完成验证(x轴)

实现

"""
@Time : 2023/4/20 15:59
@Author : Wenny
@File :start.py

"""
import json
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options
from pub_function import PubMysql
connect = PubMysql()


def br():
    chrome_options = Options()
    # chrome_options.add_argument("--headless")
    browser = webdriver.Chrome(options=chrome_options)
    browser.get('https://ebid.espic.com.cn/newgdtcms//category/purchaseListNew.html?dates=300&categoryId=2&tenderMethod=00&tabName=%E9%87%87%E8%B4%AD%E4%BF%A1%E6%81%AF&page=1')
    # browser.maximize_window()
    browser.set_page_load_timeout(15)
    browser.set_script_timeout(15)
    time.sleep(1)
    slider(browser)
    time.sleep(1)
    browser.quit()

def slider(browser):
    #切入iframe里面
    iframe_xpath='//*[@id="iframe"]'
    browser.switch_to.frame(browser.find_element_by_xpath(iframe_xpath))
    actionChains = ActionChains(browser)
    # 捕捉滑块元素 //div[@class="btn"]
    slide_btn = browser.find_element_by_xpath('//div[@class="btn"]')
    # 观察网站滑块移动的长度和位置
    actionChains.drag_and_drop_by_offset(slide_btn, 338, 0).perform()
    time.sleep(5)
    print(browser.page_source)

if __name__ == '__main__':
    br()

结果:

selenium处理滑块验证码(最简单的滑块)_第2张图片

 

 

你可能感兴趣的:(selenium,测试工具)