aardio内嵌Electron浏览框执行javaScript并获取返回值的解决办法实测有效

Admin Admin
发布:2020-03-22 16:25:54 分类:心得经验
根据aardio的示例中的Electron快速入门示例修改而成:
//快速入门
import win.ui;
/*DSG{{*/
var winform = win.form(text="在aardio中嵌入electron_简码编程www.jianma123.com";right=1276;bottom=767;clipch=1)
winform.add(
button={cls="button";text="Button";left=855;top=594;right=954;bottom=635;db=1;dl=1;z=2};
custom={cls="custom";text="自定义控件";left=7;top=6;right=1271;bottom=581;db=1;dl=1;dr=1;dt=1;edge=1;z=1};
editLog={cls="edit";left=7;top=590;right=845;bottom=760;db=1;dl=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=3}
)
/*}}*/

winform.button.disabled = true;
winform.show()

import electron.runtime; // 如果希望自动安装electron到系统目录,请先导入electron.runtime
import electron.app; // 导入electron扩展库
var theApp = electron.app(winform.custom); // 创建electron进程,如果第4个参数为true,可以UTF8模式打开控制台 - 用于查看electron主进程输出

//启动主进程的 main.js
theApp.jsMain =/**
// 启动RPC服务允许aardio/electron互调函数,创建BrowserWindow主窗口
const aardio = require('aardio')

// 管理electron进程的生命周期
const app = require('electron').app

aardio.ready( win=> {
if( !aardio.studioInvoke ){
win.removeMenu()
}

win.on('closed', () => {

})
} )

app.on('window-all-closed', () => {
app.quit(); // 退出electron进程
})
**/

//启用远程调试,并自动分配空闲不会冲突的端口
theApp.remoteDebuggingPort = 0;

//直接打开网页
theApp.start("https://www.baidu.com");//

import web.socket.chrome;
var ws = web.socket.chrome();//wsRemotetDebugging

winform.editLog.print("正在等待electron打开远程调试服务.............")
ws.waitForConnected();//等待electron打开远程调试服务
winform.editLog.print("已连接到electron的WebSocket调试接口: " + ws.rpc.url);
winform.button.disabled = false;

winform.button.oncommand = function(id,event){

//使用远程调试端口控制网页
//wsRemotetDebugging.Page.navigate( url = "https://news.baidu.com")

/*
//使用远程调试端口控制网页并获取回调
wsRemotetDebugging.Page.navigate(
url = "https://news.baidu.com"
).end = function(result,err){
winform.editLog.print("调用返回参数",result,err)
}
*/

//使用远程调试端口控制网页并获取回调
ws.Runtime.evaluate(
expression = `document.querySelector("#kw").value;`;//获取搜索框的内容
).end = function(result,err){
winform.editLog.print("调用返回参数",result,err)
}

win.delay(2000);

ws.Runtime.evaluate(
expression = `document.querySelector("#kw").value="aardio";`;//设置搜索框的内容
).end = function(result,err){
winform.editLog.print("调用返回参数",result,err)
}

win.delay(2000);

ws.Runtime.evaluate(
expression = `document.querySelector("#su").click();`;//点击搜索按钮
).end = function(result,err){
winform.editLog.print("调用返回参数",result,err)
}


}



win.loopMessage();

[ 发单/接单 ]
换IP投票软件
PC蛋蛋自动挂机投注
新浪微博发微博显示尾巴的方法,比如显示来自iphone 7
百度文库批量自动上传软件
一点资讯app刷阅读量/评论/收藏/订阅功能/手机号注册
定做一个阿迪达斯官网注册器(需要破点击文字式验证码)
定制人人网自动注册/修改资料/采集/私聊软件
酷狗繁星直播网页协yi
YY多功能刷订阅刷粉丝
滑块验证码本地识别
[ 站内搜索 ]
[ 最近热帖 ]
Aardio快速开发网站程序从入门到进阶系列教程集合 9574
万能助手 -- 扩展库大全集 9375
电脑编程入门自学:Fiddler https 抓包时提示创建根证书不成功问题彻底解决(https插件dll方式) 7345
《边学C语言边赚钱——简码编程入门教程》系列集合 7217
我常用的aardio技巧 6699
[源码下载]简码视频加密解密播放工具个人版v1.0发布,永久免费开源的知识变现神器 5941
通过chrome.dll中间件控制外部chrome浏览器 4446
自学编程?3秒钟完成你的第一个Aardio桌面程序! 4126
电脑计算机编程入门教程自学:腾讯tx或极验geetest滑块按住拖动完成拼图验证成功破解思路及源码 3494
aardio调用nodejs的ws模块做一个简单的聊天通信示例 3463
用aardio创建web工程图文讲解(1) 3141
乐玩插件AARDIO调用 3061
万能助手入门帮助教程:学会科学地管理工作文件 2679
Aardio文本编辑框控件edit_返回父窗口对象和改变父窗口对象 2566
简码编程官方群、地方群、分类群、联盟群大全! 2433
[ 近期热答 ]
万能助手入门帮助教程:学会科学地管理工作文件 1
Aaardio开发内嵌Electron浏览框放服务器上无法下载组件的解决办法 1
aardio内嵌Electron浏览框执行javaScript并获取返回值的解决办法实测有效 1
岁月如流水,静静的流,我是流水上一叶轻轻的扁舟 1
aardio键值对快速查找地名对应的数字 4
web.blink.form 打开网站后,总是无响应或停止工作,大红包求解决。 1
请教,在tab中打开网页,第二次打开报错怎么解决 1
万能助手在win7 64位安装出现问题,怎么解决? 1
请问如果修改网页源代码中找不到的文本 2
arrdio怎么连接mysql,并进行相关数据库操作? 3
dll导入出错 1
编程入门教程:aardio批量上传文件并显示进度条 1
万能助手入门帮助教程:自定义用户名 1
kio,这么干会不会被封杀? 2
python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学 1