我有一些视觉基本代码:
Dim jsScript As String = <js><![CDATA[
document.all("q").value = "stack overflow";
document.all("search_button_homepage").click();
]]></js>.Value
browser.ExecuteScriptAsync(jsScriptB)
将一个字符串作为javascript执行到Cefsharp浏览器中。所以我想把它翻译成C#,我这样做:
string jscriptB = <js><![CDATA[
document.all("q").value = "stack overflow";
document.all("search_button_homepage").click();
]]></js>.Value
browser.ExecuteScriptAsync(jsScriptB)
我收到一大堆错误消息,例如:
错误CS0103当前上下文中不存在名称“文档”
无效的表达式术语'&lt;'
有人可以解释发生了什么以及如何解决这个问题吗?我无法想象为什么简单的字符串转换不起作用。感谢您的时间,祝您度过愉快的一天。
编辑: 所以我现在有:
var test = @"< js >< ![CDATA[
document.all(""q"").value = ""stack overflow"";
document.all(""search_button_homepage"").click();
]]></ js >.Value";
browser.ExecuteScriptAsync(test);
但它不像vb代码那样执行javascript。谁能解释一下呢?
答案 0 :(得分:0)
C#没有VB的xml文字功能,所以你必须自己调用XElement.Parse方法:
string jsScript = System.Xml.Linq.XElement.Parse("<js><![CDATA[ document.all(\"q\").value = \"stack overflow\"; document.all(\"search_button_homepage\").click(); ]]></js>").Value;
browser.ExecuteScriptAsync(jsScriptB);