seleniumにてローカルテキストに保存されたhtmlテキストをwebページのテキストエリアに
driver.execute_script('document.getElementsByClassName("クラス名")[0].value="%s";' % text)
を使用してコピペしたい。
sendkeyは明らかに遅くて使用却下。
pyperclipはchromeのヘッドレスモードだとC+Vが反応しない?ようなので諦め。
(ヘッドレスモードでなければ問題はない)
そこでjavascriptを利用するという手法をネットで見つけた。
with open(aaa.txt","r",encoding="utf-8") as f:
bbb = f.read().replace("\n","")
にてテキストを読み取り
javascriptは改行がだめらしいのでとりあえず改行を消した。
問題は多分、"%s"の部分がダブルクォテーションで囲まれてたら、HTMLテキストの中のダブルクォテーションがNGになる
driver.execute_script('document.getElementsByClassName("クラス名")[0].value="%s";' % bbb)
の部分で
selenium.common.exceptions.JavascriptException: Message: javascript error: Unexpected identifier
というエラーが出る。
%sをシングルクォテーションで囲めばシングルクォテーションがエラーの原因になります。
bbb = f.read().replace("\n","").replace('"','"')をためしましたが、
htmlタグの中では特殊文字は認識しないようで、無効なタグになります。
value='%s';
も試しましたが結局同じことで%sを囲ったクォテーションがエラーの原因になります。
どのようにすればダブルクオテーションもシングルクォテーションも両方をそのままコピペできるでしょうか?

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