chrome插件开发之:处理某些订单无法自动提交的问题
来源:互联网 发布:轩辕世界坐骑进阶数据4 编辑:程序博客网 时间:2024/05/15 06:28
(TM=天 猫)
嵌入js操作TM提交订单的界面的时候,还碰到一个很郁闷的问题:
不知道为什么,某些TM物品的购买,在订单界面的时候,无法获取订单界面的按钮的dom对象!而TB就完全没问题!
无法获取按钮,也就是意味着功能自动操作会停留在下订单的界面!这样子就悲剧了。
后来经过不断的调试,发现一个问题点:在某些TM的购买界面,chrome插件执行的时候,是无法获取对应的类对应的dom对象!而我单独在界面看,明明是这个类!!为什么插件执行的时候却是无法获取??
究竟什么问题呢?百思不得其姐。难道TM的开发人员还有办法可以屏蔽像chrome这些插件访问的这些dom的类?然后我逐步调试,慢慢定位了问题:应该是某些TM的下订单界面用了延迟加载的技术!导致,content_script执行的时候,这些元素的dom还没生成而无法获取!
定位问题之后,解决方法就很自然了:
先自动获取提交订单的按钮的dom对象;
如果可以获取,则执行自动购买的代码。
如果无法获取,则自动设定一个定时器,每100毫秒执行1次,一共执行100次(就是最多花10秒的时间等待TM的ui加载)。
每一次的循环,如果找到提交订单的按钮的dom对象,就clear定时器,再执行购买。
如果100次之后还没获取到,则提示用户:无法定位提交订单的按钮,请自己到下单界面提交订单!
用上这个逻辑之后,其实一般都没什么问题了。经过调试,一般循环1次就可以成功获取dom对象了!
0 0
- chrome插件开发之:处理某些订单无法自动提交的问题
- chrome插件开发之:关于使用日期插件以及处理UI被覆盖的问题
- chrome插件开发之:关于处理定时下单的时间点的处理问题
- chrome插件开发之:处理由于注入css导致页面的ui出现错位的问题
- 解决android studio 无法更新插件的问题(某些)
- 解决Spring在某些条件下无法自动注入的问题
- chrome插件开发之:关于一些设定变量以及变量存储的问题
- 任务栏无法自动隐藏的问题处理
- chrome插件开发之调试
- chrome 插件开发之天气预报
- chrome插件开发之调试
- chrome 插件开发 jsonp 无法使用
- 在线订单提交问题
- chrome插件开发之:关于Chrome插件的架构的理解
- 解决android某些应用开发某些类无法解析/找到的问题--使用android隐藏类的方法
- 解决android某些应用开发某些类无法解析/找到的问题--使用android隐藏类的方法
- 关于chrome插件的开发
- magento 提交订单处理js
- TabLayout 加ViewPager
- 【bzoj 1452】[JSOI2009]Count(二维树状数组)
- 【4】Android 抽屉DrawerLayout中 ListView item点击事件
- 微信开发第一步,配置基本配置
- POJ 2359 Questions(约瑟夫环)
- chrome插件开发之:处理某些订单无法自动提交的问题
- INSERT
- 非常烂的豆荚VPN
- 如何组建复合碰撞体--(Box Collider为例)
- http 请求中的 referer
- 4张GIF图帮助你理解二叉查找树算法
- 【J2EE】——初识十三规范
- 左旋转字符串
- 多校round2-day2-t2 净化