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