2017-08-22 5 views
-2

Kann mir jemand helfen mit Flucht doppelte AnführungszeichenRubin entkommen doppelte Anführungszeichen

iframe_name = page.execute_script "$('#card-element').find('[name*="__privateStripeFrame"').first().attr('name')" 

versucht, mit

iframe_name = page.execute_script "$('#card-element').find('[name*=%Q[__privateStripeFrame]').first().attr('name')" 

und

iframe_name = page.execute_script "$('#card-element').find('[name*=\"__privateStripeFrame\"').first().attr('name')" 

bekam aber

TypeError (TypeError) 
+0

Letzte Option funktioniert gut '' '2.4.1: 002>" $ ('# Kartenelement'). Find ('[Name * = \ "__ privateStripeFrame \' '). First(). Attr ('Name') " =>" $ ('# Kartenelement'). find ('[Name * = \ "__ privateStripeFrame \' '). first() .attr (' Name ')" '' ' Stellen Sie sicher, dass Sie das richtige Argument übergeben – Avdept

+0

könnte Fehler in iframe_name = Teil – vladimirProp

+0

Mögliche Duplikat von [Escape single und double qoutes aus einer Zeichenfolge in Ruby] (https://stackoverflow.com/questions/6705982/escaping-single -und-double-qoutes-from-a-string-in-ruby) – BookOfGreg

Antwort

2

Verwendung heredoc, heißt es noch besser:

iframe_name = page.execute_script <<JS 
    $('#card-element').find('[name*="__privateStripeFrame"]').first().attr('name') 
JS 
+0

Auch einige Editoren könnten die Heredoc-Begrenzer verwenden, um [welche Syntax Highlighter für die Zeichenfolge zu verwenden] (https://stackoverflow.com/a/10561197/125816) zu schließen! –

+0

@SergioTulentsev tatsächlich. – mudasobwa

+0

Problem war in etwas anderes werfen Sie einen Blick auf meine Antwort – vladimirProp

0

Sorry, Jungs Problem war in

page.execute_script 

mit dieser Methode Typeerror wird zurückkehren

versuchen

page.evaluate_script 

zu verwenden, um zurückgegebene Wert zu speichern

frame_name = page.evaluate_script("$('#card-element').find('[name*=\"__privateStripeFrame\"]').first().attr('name')") 
Verwandte Themen