[英]selenium execute_script with newlines
我正在使用 selenium 和 Python,我正在尝试执行一个 JS 函数,该函数接受这样的字符串:
browser.execute_script("foo('someString')")
这在 someString 没有任何换行符时有效。 当有换行符时,会发生以下情况:
\n => Parse Error
\\n => Newline is converted to a space
\r\n => Parse Error
\\r\\n => Both characters are converted to a space
有没有办法做到这一点?
您可以将参数传递给 javascript; 可以使用arguments
访问这些附加arguments
:
browser.execute_script("foo(arguments[0])", 'someString')
browser.execute_script("foo(arguments[0])", 'string with \n is also ok!\n')
简单的解决方案是将\\n
转换为 unicode \
。
类似的例子:
driver.execute_script("document.getElementById('website_name').value='hello1\u000ahello2'")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.