div模拟窗口操作

再谈js拖拽(一)

 

 seajs.js

 断点查看:

一、Module.resolve里。得: 

seajs.use -》 Module.preload -》Module.use 参数 data.cwd + "_preload_" + cid()为预加载模块设置一个默认uri

-> Module.prototype.load -> Module.prototype.resolve【遍历依赖】 -> Module.resolve 【后面这三步和上面“Module.prototype.load里函数解析”一样,我称其为加载模块3步骤 】

-> id2Uri -> addBase

在 Module.preload中Module.use的回调函数里 preloadMods.splice(0, len)可见预加载一个data.preload就少一个

在Module.resolve中 emit("resolve", emitData),这时还没有resolve对象,所以不触发什么。

 

addBase中:

data.base(var)-> loaderDir(var) -> loaderScript(var)

以seajsnode为节点或最后一个script节点作为加载的根路径

 

二、Module.preload / Module.use回调函数中:

到此的过程: addOnload 的 -> onRequest -> Module.prototype.load -> Module.use -> Module.preload

问题1、谁触发node.onload? 答:ajax事件(系统)。 

问题2、如何到addOnload来注册回调函数? 答:从上面的执行过程大概可以看得出是回调函数被执行而展开的,即onRequest,

继续找,有两处有此回调函数的钩子:emit("request"。。和 function sendRequest。。,那么是那个呢?

只能分别辨析了。

上Module.prototype.onload 中从等待列表中递归调 onload . 模块依赖的模块个数记录在其_waitings属性中,

等所有依赖模块都加载完之后才能加载本模块

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模拟登录窗口滑动验证一般都是通过模拟用户在浏览器中操作来完成的。以下是使用 Python + Selenium 实现模拟登录窗口滑动验证的步骤: 1. 安装 Selenium 库和浏览器驱动,比如 ChromeDriver。 2. 打开浏览器,并访问登录页面。 3. 输入用户名和密码,并点击登录按钮。 4. 等待页面加载完成,找到滑块元素和滑块背景元素。 5. 计算出滑块需要滑动的距离。 6. 使用 ActionChains 模拟鼠标拖拽滑块的操作。 7. 检查是否登录成功。 以下是一个示例代码,使用 Python + Selenium 实现模拟登录窗口滑动验证: ```python from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains # 启动 Chrome 浏览器,并访问登录页面 driver = webdriver.Chrome() driver.get('https://www.example.com/login') # 输入用户名和密码,并点击登录按钮 username = driver.find_element_by_name('username') password = driver.find_element_by_name('password') username.send_keys('your_username') password.send_keys('your_password') submit = driver.find_element_by_xpath('//button[contains(@class, "submit")]') submit.click() # 等待页面加载完成,找到滑块元素和滑块背景元素 slider = driver.find_element_by_xpath('//div[contains(@class, "slider")]') slider_bg = driver.find_element_by_xpath('//div[contains(@class, "slider-bg")]') # 计算出滑块需要滑动的距离 slider_width = slider.size['width'] slider_bg_width = slider_bg.size['width'] distance = slider_bg_width - slider_width # 使用 ActionChains 模拟鼠标拖拽滑块的操作 actions = ActionChains(driver) actions.click_and_hold(slider) actions.move_by_offset(distance, 0) actions.release() actions.perform() # 检查是否登录成功 if 'Welcome' in driver.page_source: print('Login success!') else: print('Login failed!') ``` 注意:以上代码只是一个示例,实际应用中需要根据具体的页面结构和滑动验证的实现方式进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值