滚动旋钮时禁止页面滚动-jquery.knob.js

jquery.knob.js一款很棒的jquery旋钮插件 gayhub地址:https://github.com/aterrien/jQuery-Knob

  • 当鼠标滚轮作用于旋钮时,禁止页面滚动

这里写图片描述

$(".knob").on("mousewheel",function(event){
    var event = event || window.event;
    event.preventDefault(); //阻止默认事件 页面滚动!!

    ......
    //处理旋钮事件 

});

如果不禁止默认事件,当页面出现滚动条时,滚轮事件会先使页面滚动。
当然还有些兼容问题:参考下张鑫旭大神的博客。子元素scroll父元素容器不跟随滚动JS实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这个网站的滑块验证码比较复杂,需要先进行一些处理才能通过滑动验证。以下是一个基本的思路: 1. 打开网站,点击进入采购公告页面。 2. 点击“全部”按钮,切换到全部采购公告页面。 3. 首先尝试通过点击“查询”按钮绕过滑块验证。 4. 若滑块验证未通过,则进行滑动验证。 5. 滑动验证后,再次点击“查询”按钮,即可获取采购公告列表。 具体实现可以参考以下代码: ```python from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time driver = webdriver.Chrome() driver.get('http://www.ccgp-liaoning.gov.cn/portalindex.do?method=goPubInfoList') # 点击进入采购公告页面 driver.find_element_by_link_text('采购公告').click() # 点击切换到全部采购公告页面 driver.find_element_by_link_text('全部').click() # 尝试通过点击“查询”按钮绕过滑块验证 driver.find_element_by_id('query').click() # 判断是否出现滑块验证 if '请完成验证' in driver.page_source: # 定位滑块元素 slider = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'validate'))) slider_knob = slider.find_element_by_class_name('ui-slider-handle') # 计算需要滑动的距离 slider_width = slider.size['width'] knob_width = slider_knob.size['width'] distance = slider_width - knob_width # 模拟滑动操作 ActionChains(driver).click_and_hold(slider_knob).move_by_offset(distance, 0).release().perform() # 等待滑块验证完成 time.sleep(2) # 再次尝试点击“查询”按钮 driver.find_element_by_id('query').click() # 获取采购公告列表 table = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'resultslist'))) rows = table.find_elements_by_tag_name('tr') for row in rows[1:]: cells = row.find_elements_by_tag_name('td') print(cells[1].text) ``` 需要注意的是,滑块验证的具体实现方式因网站而异,以上代码仅供参考,具体实现需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值