- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
org.openqa.selenium.JavascriptException: SyntaxError: '' string literal 在通过 Selenium 使用 executeScript 时包含未转义的换行符
executeScript()
以单行 String 为例:
String myText = "80120804076";
但是当我尝试发送多行 String 时,引发了 JavascriptException
。
代码试验:
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class send_large_text {
static WebDriver driver;
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
driver = new FirefoxDriver();
driver.get("https://translate.shell.com/");
//String myText = "80120804076";
String myText = "No, there is no way to hide the console window of the chromedriver.exe \n"
+ "in the .NET bindings without modifying the bindings source code. This is seen \n"
+ "as a feature of the bindings, as it makes it very easy to see when your code \n"
+ "hasn\'t correctly cleaned up the resources of the ChromeDriver, since the console window \n"
+ "remains open. In the case of some other languages, if your code does not properly clean up \n"
+ "the instance of ChromeDriver by calling the quit() method on the WebDriver object, \n"
+ "you can end up with a zombie chromedriver.exe process running on your machine.";
( (JavascriptExecutor) driver).executeScript("arguments[0].value=\'" + myText + "\';", new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("textarea.form-control#translateText"))));
}
}
观察到的错误:
1544184402064 mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-foreground" "-no-remote" "-profile" "C:\\Users\\ATECHM~1\\AppData\\Local\\Temp\\rust_mozprofile.b4OAHY7RViE6"
1544184406841 Marionette INFO Listening on port 11919
1544184406988 Marionette WARN TLS certificate errors will be ignored for this session
Dec 07, 2018 5:36:47 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Exception in thread "main" org.openqa.selenium.JavascriptException: SyntaxError: '' string literal contains an unescaped line break
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'ATECHM-03', ip: '192.168.1.6', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.8.0_172'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 63.0.3, javascriptEnabled: true, moz:accessibilityChecks: false, moz:geckodriverVersion: 0.23.0, moz:headless: false, moz:processID: 5620, moz:profile: C:\Users\AtechM_03\AppData\..., moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, platformVersion: 6.2, rotatable: false, setWindowRect: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 31ac155f-8f03-4adf-bc7b-a778f1235351
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:485)
at demo.send_large_text.main(send_large_text.java:25)
我经历过相关的讨论:
引用:SyntaxError: unterminated string literal
仍然不知道我哪里出错了。谁能帮帮我?
最佳答案
这是对我有用的:
1) 在每个 \n
之前添加一个额外的斜杠,使其成为 \\n
2) 在撇号 hasn\'t
之前添加额外的斜线使其 hasn\\'
"No, there is no way to hide the console window of the chromedriver.exe \\n"
+ "in the .NET bindings without modifying the bindings source code. This is seen \\n"
+ "as a feature of the bindings, as it makes it very easy to see when your code \\n"
+ "hasn\\'t correctly cleaned up the resources of the ChromeDriver, since the console window \\n"
+ "remains open. In the case of some other languages, if your code does not properly clean up \\n"
+ "the instance of ChromeDriver by calling the quit() method on the WebDriver object, \\n"
+ "you can end up with a zombie chromedriver.exe process running on your machine.";
关于javascript - 组织.openqa.selenium.JavascriptException : SyntaxError: '' string literal contains an unescaped line break while using executeScript through Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53669371/
我尝试在 selenium webdriver 中执行 java 脚本。该脚本存储在字符串变量中。并且变量被传递给executeScript()方法。运行脚本时我得到了 javascriptExcep
因此,如果我从回调方法中调用任何失败的 JUnit 断言,我都会收到此异常: Mar 12, 2012 11:24:41 AM com.gargoylesoftware.htmlunit.javasc
我在 Play 商店中有一个 React Native 应用程序,但在过去的一个月里它在某些设备上崩溃了 1000 次。我从未使用自己的设备或模拟器遇到过这种崩溃。我不确定如何调试它。 我启用了 Pr
我的 GWT 应用程序在某个时刻抛出 JavaScriptException。此问题仅发生在 Internet Explorer 中(IE 8 和运行 IE7 模式的 IE 8)。 堆栈轨迹如下: c
在我的 java 代码中,我尝试使用 HTMLUnit 库获取网页。我的代码很简单如下, public static void main(String [] args) throws FailingH
我正在尝试使用 python 和 selenium 自动化基于 Web 的 API (haxball api)有两个步骤 访问后https://html5.haxball.com/headless使用
我刚刚发布了一个使用 native 框架制作的 apk。 应用程序名义上运行,但功能中存在一些错误,导致其被迫关闭。 我尝试调试使用 android studio logcat 的错误,发现了这个异常
从 scala.js 0.6.x 迁移到 1.0 后,我有一些与 @JSGlobalScope 相关的代码损坏了。 我的用例是这样的: 有一个第 3 方库需要将一些全局变量设置为一个函数 加载并准备就
我有一个带有 WebView 控件的 UWP 应用程序。该应用程序运行正常,但 Visual Studio 2017 输出窗口显示了一堆错误,例如: Exception thrown at 0x75E
我正在尝试自动化 www.freeinvaders.org使用 Python 和 Selenium 的 Space Invaders 版本。实际游戏通过 HTML5 canvas 元素运行,该元素包裹
Google Play 堆栈跟踪将崩溃的原因指向: com.facebook.react.modules.core.JavascriptException: addWaypointDone i
使用 chrome 78 和 chromedriver78当我单击音频文件或尝试使用 Selenium 测试停止音频时,我收到此错误。 错误: org.openqa.selenium.Javascri
当我将以下代码放入 Chrome 的开发人员工具控制台时,它们工作正常。然而,当我将它们放入 Selenium 中时,我收到“参数列表后缺少 )”错误。我知道这可能意味着问题可能是由于语法不正确造成的
我在使用 AShot 时遇到了一个奇怪的问题。Ashot 对于整个屏幕截图效果很好,但在选择性屏幕截图时则不好。在获取元素坐标时,它会在 CoordsProvider 类中抛出错误。我使用的是有缺陷的
org.openqa.selenium.JavascriptException: SyntaxError: '' string literal 在通过 Selenium 使用 executeScrip
我一直在对一些网站进行网络抓取,以获取用于网络抓取练习的位置。这段代码让我了解酒店品牌的各个城市级别,但每当我在我的代码中使用 driver.execute_script("arguments[0].
我是一名优秀的程序员,十分优秀!