[CefSharp的首次用户。我正在尝试将其与vb.net结合使用以自动执行网站中的某些任务。
我创建了一个ChromiumWebBrowser,并将其指向具有2个输入字段用户名和密码的网站。我设法使用javascript用2个相应的字符串填充2个输入文件,如下所示:
document.getElementsByTagName('input')[0].value = 'MyUsername';
document.getElementsByTagName('input')[1].value = 'MyPassword';
和它的工作原理。我看到2个字段填充了2个字符串。 (文件名没有ID。这就是为什么getElementsByTagName)
现在,我希望从VB.net代码中的变量中传递字符串,而不是javascript代码中的实际字符串。类似于:
VB.net代码
Dim USER as String = 'MyUsername'
Dim PASS as String = 'MyPassword'
和之前的JS代码类似:
document.getElementsByTagName('input')[0].value = USER;
document.getElementsByTagName('input')[1].value = PASS;
但显然不是那样!
我发现了一些有关将VB代码放入这样的帖子
browser.JavascriptObjectRepository.Register("boundAsync", New BoundObject())
和公共类BoundObject
并将其传递给JS代码,例如
await CefSharp.BindObjectAsync("boundAsync", "bound");
但是我对我之前提到的2个字符串的处理方式感到困惑。如何在VB.net中注册USER和PASS变量,然后在JS中调用它们的值来填充输入字段?
TIA
是的,我刚才正在做!
在VB.net代码中]
Dim USER as String = 'MyUsername'
和JS代码中
document.getElementsByTagName('input')[0].value = '" + USER + "';
诀窍在引号中。而不是写= USER你这样写
'" + USER + "'