注册 登录
发贴工具
查看: 7|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] AIWROK软件H5网页被主脚本获取值用法

[复制链接]

2459

主题

2507

帖子

1万

积分

积分
14958
跳转到指定楼层
楼主

AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法 群发软件发帖工具
AIWROK软件H5网页被主脚本获取值用法 群发软件发帖工具
AIWROK软件H5网页被主脚本获取值用法 群发软件发帖工具


H5交互案例.zip (39.64 KB, 下载次数: 0)

  1. /**
  2. *🍎交流QQ群711841924群一,苹果内测群,528816639
  3. * H5页面值获取脚本
  4. * 适用于AIWROK IDE与H5页面交互
  5. */

  6. var publicData = (function() {
  7.     var dataStore = {};
  8.    
  9.     return {
  10.         set: function(key, value) {
  11.             dataStore[key] = value;
  12.             printl('已设置公共数据: ' + key + ' = ' + value);
  13.         },
  14.         
  15.         get: function(key) {
  16.             var value = dataStore[key];
  17.             printl('获取公共数据: ' + key + ' = ' + value);
  18.             return value;
  19.         },
  20.         
  21.         remove: function(key) {
  22.             var oldValue = dataStore[key];
  23.             delete dataStore[key];
  24.             printl('已删除公共数据: ' + key + ', 原值: ' + oldValue);
  25.             return oldValue;
  26.         },
  27.         
  28.         clear: function() {
  29.             dataStore = {};
  30.             printl('已清空所有公共数据');
  31.         },
  32.         
  33.         has: function(key) {
  34.             return key in dataStore;
  35.         },
  36.         
  37.         keys: function() {
  38.             return Object.keys(dataStore);
  39.         },
  40.         
  41.         size: function() {
  42.             return Object.keys(dataStore).length;
  43.         }
  44.     };
  45. })();

  46. var webView = null;

  47. function setWebView(webViewRef) {
  48.     webView = webViewRef;
  49.     printl('WebView引用已设置,可以开始与H5页面交互');
  50. }

  51. function printl(message) {
  52.     console.log(message);
  53.     if (typeof showResult === 'function') {
  54.         showResult(message);
  55.     }
  56. }

  57. function showResult(message) {
  58.     try {
  59.         if (typeof document !== 'undefined' && document.getElementById('result')) {
  60.             document.getElementById('result').innerText = message;
  61.         } else {
  62.             console.log(message);
  63.         }
  64.     } catch (e) {
  65.         console.log(message);
  66.     }
  67. }

  68. function getH5Value(jsCode) {
  69.     if (!webView) {
  70.         printl('错误:WebView未设置,请先调用setWebView()');
  71.         return null;
  72.     }
  73.    
  74.     try {
  75.         if (typeof webView.runWebJs === 'function') {
  76.             var result = webView.runWebJs(jsCode);
  77.             return result;
  78.         } else {
  79.             printl('WebView的runWebJs方法不可用');
  80.             return null;
  81.         }
  82.     } catch (e) {
  83.         printl('runWebJs方法执行失败: ' + e.message);
  84.         return null;
  85.     }
  86. }

  87. function getH5TextValue() {
  88.     var jsCode = "(function() {" +
  89.         "var input = document.getElementById('input1');" +
  90.         "if (input) {" +
  91.         "    return input.value;" +
  92.         "} else {" +
  93.         "    var inputs = document.getElementsByName('input1');" +
  94.         "    if (inputs.length > 0) {" +
  95.         "        return inputs[0].value;" +
  96.         "    } else {" +
  97.         "        return '未找到文本框元素';" +
  98.         "    }" +
  99.         "}" +
  100.         "})()";
  101.    
  102.     var result = getH5Value(jsCode);
  103.     printl('文本框值: ' + result);
  104.     return result;
  105. }

  106. function getH5DropdownValue() {
  107.     var jsCode = "(function() {" +
  108.         "var dropdown = document.getElementById('dropdown');" +
  109.         "if (dropdown) {" +
  110.         "    return dropdown.options[dropdown.selectedIndex].value;" +
  111.         "} else {" +
  112.         "    return '未找到下拉框元素';" +
  113.         "}" +
  114.         "})()";
  115.    
  116.     var result = getH5Value(jsCode);
  117.     printl('下拉框值: ' + result);
  118.     return result;
  119. }

  120. function getH5RadioValue() {
  121.     var jsCode = "(function() {" +
  122.         "var radios = document.getElementsByName('radiogroup');" +
  123.         "for (var i = 0; i < radios.length; i++) {" +
  124.         "    if (radios[i].checked) {" +
  125.         "        return radios[i].value;" +
  126.         "    }" +
  127.         "}" +
  128.         "return '未选择';" +
  129.         "})()";
  130.    
  131.     var result = getH5Value(jsCode);
  132.     printl('单选按钮值: ' + result);
  133.     return result;
  134. }

  135. function getH5CheckboxValue() {
  136.     var jsCode = "(function() {" +
  137.         "var checkboxes = document.querySelectorAll('input[name=\"check1\"], input[name=\"check2\"]');" +
  138.         "var selectedValues = [];" +
  139.         "for (var i = 0; i < checkboxes.length; i++) {" +
  140.         "    if (checkboxes[i].checked) {" +
  141.         "        selectedValues.push(checkboxes[i].value);" +
  142.         "    }" +
  143.         "}" +
  144.         "return selectedValues.length > 0 ? selectedValues.join(',') : '未选择';" +
  145.         "})()";
  146.    
  147.     var result = getH5Value(jsCode);
  148.     printl('多选框值: ' + result);
  149.     return result;
  150. }

  151. function getH5TaskSelections() {
  152.     var jsCode = "(function() {" +
  153.         "var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
  154.         "var selectedTasks = [];" +
  155.         "for (var i = 0; i < taskCheckboxes.length; i++) {" +
  156.         "    if (taskCheckboxes[i].checked) {" +
  157.         "        selectedTasks.push(taskCheckboxes[i].value);" +
  158.         "    }" +
  159.         "}" +
  160.         "return selectedTasks.length > 0 ? selectedTasks.join(',') : '未选择任务';" +
  161.         "})()";
  162.    
  163.     var result = getH5Value(jsCode);
  164.     printl('任务选项值: ' + result);
  165.     return result;
  166. }

  167. function getH5AllTasksInfo() {
  168.     var jsCode = "(function() {" +
  169.         "var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
  170.         "var tasksInfo = [];" +
  171.         "for (var i = 0; i < taskCheckboxes.length; i++) {" +
  172.         "    tasksInfo.push({" +
  173.         "        id: taskCheckboxes[i].id," +
  174.         "        value: taskCheckboxes[i].value," +
  175.         "        checked: taskCheckboxes[i].checked" +
  176.         "    });" +
  177.         "}" +
  178.         "return JSON.stringify(tasksInfo);" +
  179.         "})()";
  180.    
  181.     var result = getH5Value(jsCode);
  182.     printl('所有任务选项信息: ' + result);
  183.     return result;
  184. }

  185. function getH5InteractionInfo() {
  186.     var jsCode = "(function() {" +
  187.         "try {" +
  188.         "var info = {};" +
  189.         "info.currentStatus = document.getElementById('current-status') ? document.getElementById('current-status').textContent : '未找到';" +
  190.         "info.connectionStatus = document.getElementById('connection-status') ? document.getElementById('connection-status').textContent : '未找到';" +
  191.         "info.lastInteraction = document.getElementById('last-interaction') ? document.getElementById('last-interaction').textContent : '未找到';" +
  192.         "info.availableTasks = document.getElementById('available-tasks') ? document.getElementById('available-tasks').textContent : '未找到';" +
  193.         "return JSON.stringify(info);" +
  194.         "} catch(e) { return 'Error: ' + e.message; }" +
  195.         "})()";
  196.    
  197.     var result = getH5Value(jsCode);
  198.     printl('交互信息: ' + result);
  199.     return result;
  200. }

  201. function getAllH5FormValues() {
  202.     var jsCode = "(function() {" +
  203.         "try {" +
  204.         "var formData = {};" +
  205.         "var input = document.getElementById('input1');" +
  206.         "formData.input1 = input ? input.value : '未找到';" +
  207.         "var dropdown = document.getElementById('dropdown');" +
  208.         "formData.dropdown = dropdown ? dropdown.options[dropdown.selectedIndex].value : '未找到';" +
  209.         "var radios = document.getElementsByName('radiogroup');" +
  210.         "formData.radio = '未选择';" +
  211.         "for (var i = 0; i < radios.length; i++) {" +
  212.         "    if (radios[i].checked) {" +
  213.         "        formData.radio = radios[i].value;" +
  214.         "        break;" +
  215.         "    }" +
  216.         "}" +
  217.         "var checkboxes = document.querySelectorAll('input[name=\"check1\"], input[name=\"check2\"]');" +
  218.         "formData.checkboxes = [];" +
  219.         "for (var i = 0; i < checkboxes.length; i++) {" +
  220.         "    if (checkboxes[i].checked) {" +
  221.         "        formData.checkboxes.push(checkboxes[i].value);" +
  222.         "    }" +
  223.         "}" +
  224.         "var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
  225.         "formData.tasks = [];" +
  226.         "for (var i = 0; i < taskCheckboxes.length; i++) {" +
  227.         "    if (taskCheckboxes[i].checked) {" +
  228.         "        formData.tasks.push(taskCheckboxes[i].value);" +
  229.         "    }" +
  230.         "}" +
  231.         "return JSON.stringify(formData);" +
  232.         "} catch(e) { return 'Error: ' + e.message; }" +
  233.         "})()";
  234.    
  235.     var result = getH5Value(jsCode);
  236.     printl('所有表单值: ' + result);
  237.     return result;
  238. }

  239. function 演示获取H5值() {
  240.     printl('=== 开始演示从H5页面获取表单值 ===');
  241.    
  242.     if (!webView) {
  243.         printl('WebView未设置,请先设置WebView引用');
  244.         return;
  245.     }
  246.    
  247.     var textValue = getH5TextValue();
  248.     var dropdownValue = getH5DropdownValue();
  249.     var radioValue = getH5RadioValue();
  250.     var checkboxValue = getH5CheckboxValue();
  251.     var taskValue = getH5TaskSelections();
  252.    
  253.     printl('=== H5表单值获取演示完成 ===');
  254. }

  255. function demoGetH5Values() {
  256.     演示获取H5值();
  257. }

  258. function 获取H5选中项目() {
  259.     printl('=== 开始获取H5页面选中的项目 ===');
  260.    
  261.     if (!webView) {
  262.         printl('WebView未设置,请先设置WebView引用');
  263.         return;
  264.     }
  265.    
  266.     var selectedTasks = getH5TaskSelections();
  267.     printl('H5页面选中的项目: ' + selectedTasks);
  268.    
  269.     printl('=== 获取H5页面选中项目完成 ===');
  270. }

  271. function getH5SelectedItems() {
  272.     获取H5选中项目();
  273. }

  274. function 测试函数2() {
  275.     printl('测试函数2运行中');
  276.    
  277.     printl('=== 开始从H5页面获取表单值 ===');
  278.    
  279.     var allValues = getAllH5FormValues();
  280.     printl('所有表单值: ' + allValues);
  281.    
  282.     printl('=== H5表单值获取完成 ===');
  283. }

  284. function testFunction2() {
  285.     测试函数2();
  286. }

  287. function 演示公共数据操作() {
  288.     printl('=== 开始演示公共数据操作 ===');
  289.    
  290.     publicData.set('文本值', '这是一个文本值');
  291.     publicData.set('数字值', 123);
  292.     publicData.set('布尔值', true);
  293.     publicData.set('对象值', {name: '测试', count: 1});
  294.    
  295.     var textValue = publicData.get('文本值');
  296.     printl('获取到文本值: ' + textValue);
  297.    
  298.     var numValue = publicData.get('数字值');
  299.     printl('获取到数字值: ' + numValue);
  300.    
  301.     var boolValue = publicData.get('布尔值');
  302.     printl('获取到布尔值: ' + boolValue);
  303.    
  304.     var objValue = publicData.get('对象值');
  305.     printl('获取到对象值: ' + JSON.stringify(objValue));
  306.    
  307.     var hasText = publicData.has('文本值');
  308.     printl('是否存在文本值键: ' + hasText);
  309.    
  310.     var allKeys = publicData.keys();
  311.     printl('所有键: ' + allKeys.join(', '));
  312.    
  313.     var size = publicData.size();
  314.     printl('数据项数量: ' + size);
  315.    
  316.     printl('=== 公共数据操作演示完成 ===');
  317. }

  318. function 主要演示() {
  319.     setWebView(webView);
  320.     演示获取H5值();
  321.     测试函数2();
  322. }

  323. function 执行所有演示() {
  324.     printl('开始执行所有演示...');
  325.     演示获取H5值();
  326.     测试函数2();
  327.     演示公共数据操作();
  328.     printl('所有演示执行完毕');
  329. }

  330. function 执行H5演示() {
  331.     printl('开始执行H5值获取演示...');
  332.     演示获取H5值();
  333.     printl('H5值获取演示执行完毕');
  334. }

  335. function 执行公共数据演示() {
  336.     printl('开始执行公共数据演示...');
  337.     演示公共数据操作();
  338.     printl('公共数据演示执行完毕');
  339. }

  340. function 获取演示页面所有数据() {
  341.     printl('=== 开始获取演示页面所有数据 ===');
  342.    
  343.     if (!webView) {
  344.         printl('WebView未设置,请先设置WebView引用');
  345.         return null;
  346.     }
  347.    
  348.     var allData = {};
  349.    
  350.     allData.input1 = getH5TextValue();
  351.     allData.dropdown = getH5DropdownValue();
  352.     allData.radio = getH5RadioValue();
  353.     allData.checkboxes = getH5CheckboxValue();
  354.     allData.selectedTasks = getH5TaskSelections();
  355.    
  356.     var tasksInfoStr = getH5AllTasksInfo();
  357.     try {
  358.         allData.tasksInfo = JSON.parse(tasksInfoStr);
  359.     } catch (e) {
  360.         allData.tasksInfo = tasksInfoStr;
  361.     }
  362.    
  363.     var interactionInfoStr = getH5InteractionInfo();
  364.     try {
  365.         allData.interactionInfo = JSON.parse(interactionInfoStr);
  366.     } catch (e) {
  367.         allData.interactionInfo = interactionInfoStr;
  368.     }
  369.    
  370.     var allFormValuesStr = getAllH5FormValues();
  371.     try {
  372.         allData.allFormValues = JSON.parse(allFormValuesStr);
  373.     } catch (e) {
  374.         allData.allFormValues = allFormValuesStr;
  375.     }
  376.    
  377.     publicData.set('演示页面数据', allData);
  378.    
  379.     printl('=== 演示页面所有数据获取完成 ===');
  380.     printl('完整数据: ' + JSON.stringify(allData, null, 2));
  381.    
  382.     return allData;
  383. }

  384. function getAllDemoPageData() {
  385.     return 获取演示页面所有数据();
  386. }

  387. function 执行获取演示数据() {
  388.     printl('开始执行获取演示页面数据...');
  389.     var allData = 获取演示页面所有数据();
  390.     printl('获取演示页面数据执行完毕');
  391.     return allData;
  392. }
复制代码



untoAIWROK软件创建可暂停恢复的多线程任务nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖