带有换行符的selenium execute_script

时间:2015-01-17 10:30:45

标签: javascript python string selenium

我正在使用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

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:4)

您可以将参数传递给javascript;可以使用arguments

访问这些附加参数
browser.execute_script("foo(arguments[0])", 'someString')
browser.execute_script("foo(arguments[0])", 'string with \n is also ok!\n')

答案 1 :(得分:0)

简单的解决方案是将\n转换为unicode \u000a

类似示例

driver.execute_script("document.getElementById('website_name').value='hello1\u000ahello2'")