繁体   English   中英

带换行符的 selenium execute_script

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM