aardio 文档

aardio 范例: web.view( WebView2 ) 等待并自动化操作网页元素

请参考调用 CDP 实现自动化

//web.view 自动化操作网页
//请参考调用 CDP 实现自动化: https://www.aardio.com/zh-cn/doc/example/WebUI/web.view/DevTools/cdp.html

import win.ui;
/*DSG{{*/
var winform = win.form(text="web.view( WebView2 ) 等待并自动化操作网页元素")
winform.add()
/*}}*/

import web.view;
var wb = web.view(winform);

wb.go("https://www.aardio.com/zh-cn/doc/");

//用法 1:异步等待参数 @1 指定 CSS 选择器的 HTML 元素,回调 aardio 函数
wb.waitEle("#search-input",function(ok,err){
    wb.doScript("
        var searchInput = document.querySelector('#search-input');
        searchInput.value='多线程'; 
        searchInput.dispatchEvent(new Event('input', { bubbles: true, }));
    ")
})

//用法 2:参数 @2 不指定回调函数或回调 JS 脚本则同步等待参数 @1 指定 CSS 选择器的 HTML 元素
wb.waitEle("#search-input");

/*
wb.waitEle 在单个网页内有效,打开其他网页则会取消等待。
如果在等待时网页可能跳转网址,可改用 wb.waitEle2 函数以支持跨网页等待。
wb.waitEle2 与 wb.waitEle 的参数用法是一样的。
*/

//执行 JavaScript 脚本
wb.doScript("
var searchInput = document.querySelector('#search-input');
searchInput.value='多线程'; 
searchInput.dispatchEvent(new Event('input', { bubbles: true, }));
")

winform.show(3/*_SW_SHOWMAXIMIZED*/);
win.loopMessage();
Markdown 格式