【发布时间】:2018-05-09 09:11:39
【问题描述】:
我有一些可视化的基本代码:
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 当前上下文中不存在名称“文档”
无效的表达式术语'
谁能解释发生了什么以及如何解决它?我无法想象为什么简单的字符串转换不起作用。感谢您的宝贵时间,祝您有美好的一天。
编辑: 所以我现在有:
var test = @"< js >< ![CDATA[
document.all(""q"").value = ""stack overflow"";
document.all(""search_button_homepage"").click();
]]></ js >.Value";
browser.ExecuteScriptAsync(test);
但它不像 vb 代码那样执行 javascript。谁能解释一下?
【问题讨论】:
-
C# 不支持像 vb 这样的 xml 文字。通过在字符串前面加上
@:var script = @"document.all('q').value =....",而不是使用逐字字符串文字(没有cdata)它也支持换行符(输入键)。对于双引号,您需要使用第二个双引号@"there's a ""quote"" here"进行转义 -
@pinkfloydx33 您的解决方案消除了错误消息,但现在 javascript 无法正常工作
标签: javascript c# vb.net compiler-errors