javascript - VB 到 C# 字符串转换

标签 javascript c# vb.net compiler-errors

我有一些 Visual Basic 代码:

       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 文字功能,因此您必须自己调用 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);

关于javascript - VB 到 C# 字符串转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47488763/

相关文章:

javascript - 使用从数据库返回的数据动态填充下拉列表

JavaScript - 从数组中的多个输入获取值

javascript - 网络包 : Invalid configuration object/Invalid Module Entry

c# - 禁用网络浏览器而不灰显

c# - 在随机生成的迷宫上使用递归回溯

jquery - 如何从自动完成jquery函数中获取所需的值?

.net - Windows 窗体处理程序在计算机唤醒时被忽略

IE6 的 JavaScript 问题

c# - Rhino 使用 FakeItEasy 模拟 'Expect'

c# - ASP.NET 是否具有获取用户历史记录的内置功能?