スクレイピングでテキストエリアに文字を入力したいのですが、
python
1mojiretsu = 'あ\r\nあ' 2driver.execute_script('document.getElementsByName(\'hoge\')[0].value=\'%s\';' % mojiretsu)
この入力を使うとstr型の変数mojiretsuの中に改行が含まれている場合エラーが出てしまいます。
self.error_handler.check_response(response) raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.evaluate threw exception: SyntaxError: Invalid or unexpected token
改行がない場合は想定通りに反映されます。
python
1mojiretsu = 'ああ' 2driver.execute_script('document.getElementsByName(\'hoge\')[0].value=\'%s\';' % mojiretsu) 3 4# ああ
↓でもエラーは出ず改行が想定通りに反映されています。
python
1mojiretsu = 'あ\r\nあ' 2driver.get_elements_by_name(\'hoge\')[0].send_keys(mojiretsu)) 3 4# あ 5# あ
文字列は500文字程度を入力する予定なのですが、
driver.get_elements_by_nameだと1文字ずつ入力するとのことで
時間がかかることを懸念しています。
jsを埋め込む形でうまく反映させる回避方法をご教授いただけないでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/18 08:01 編集