//web.view 自动化操作网页 //请参考调用 CDP 实现自动化: 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();