有人可以帮我逃避双引号
iframe_name = page.execute_script "$('#card-element').find('[name*="__privateStripeFrame"').first().attr('name')"
尝试了
iframe_name = page.execute_script "$('#card-element').find('[name*=%Q[__privateStripeFrame]').first().attr('name')"
和
iframe_name = page.execute_script "$('#card-element').find('[name*=\"__privateStripeFrame\"').first().attr('name')"
但得到了
TypeError (TypeError)
答案 0 :(得分:2)
使用heredoc,它甚至可以更好地阅读:
iframe_name = page.execute_script <<JS
$('#card-element').find('[name*="__privateStripeFrame"]').first().attr('name')
JS
答案 1 :(得分:1)
https://blog.appsignal.com/2016/12/21/ruby-magic-escaping-in-ruby.html
在Ruby中,您可以使用反斜杠字符转义双引号。
"foo\"bar\"" => 'foo"bar"'
答案 2 :(得分:0)
对不起家伙的问题在
page.execute_script
使用此方法TypeError为return
尝试使用
page.evaluate_script
以存储返回值
frame_name = page.evaluate_script("$('#card-element').find('[name*=\"__privateStripeFrame\"]').first().attr('name')")