1
我有一些Visual Basic代码:VB到C#字符串翻译
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#不支持XML文本如VB。通过在字符串前添加一个'@':'var script = @“document.all('q')。value = ....”'它支持行(而不是xml)也会中断(输入密钥)。对于双引号,您需要使用第二个双引号“@”进行转义,这里有一个“”引用“”“ – pinkfloydx33
@ pinkfloydx33您的解决方案摆脱了错误消息,但现在JavaScript无法正常工作 – WilkyRL