回答編集履歴

2

みす

2019/09/09 12:28

投稿

shirai
shirai

スコア1290

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  # 文字を入力
70
70
 
71
- driver.find_element_by_id('content').send_keys(Content.replace('¥r','¥¥r').replace('¥n','¥¥n')
71
+ driver.find_element_by_id('content').send_keys(Content.replace('¥r','¥¥r').replace('¥n','¥¥n'))
72
72
 
73
73
 
74
74
 

1

追記

2019/09/09 12:28

投稿

shirai
shirai

スコア1290

test CHANGED
@@ -21,3 +21,57 @@
21
21
 
22
22
 
23
23
  ご参考までに[こちら](https://teratail.com/questions/209455#reply-309045)を。
24
+
25
+
26
+
27
+ ### 返信を受けて追記
28
+
29
+
30
+
31
+ 一般的にseleniumを使うとリッチテキストエディタに直打ちするのは難しいです。
32
+
33
+ 標準入力モードに変えてやって、入力するというのが王道です。
34
+
35
+
36
+
37
+ ですので、色々なhtmlタグを入れたかったら、そもそも変数Content自体を、
38
+
39
+ '<p>test post</p>'などとhtmlタグで装飾済みの値にしてやる必要があります。
40
+
41
+
42
+
43
+ プログラムは以下の通りです。
44
+
45
+ ```python
46
+
47
+ title = "Test"
48
+
49
+ content = "test post"
50
+
51
+ driver.find_element_by_css_selector("#title").send_keys(title)
52
+
53
+
54
+
55
+ # ユーザの体感速度向上のため、エディタだけ後からajaxで読み込むパターンがあり、
56
+
57
+ # ajax終了前にDOMを見るとNoSachElementExceptionを起こす可能性があるため数秒待つ
58
+
59
+ time.sleep(2)
60
+
61
+
62
+
63
+ # テキストモードに移行
64
+
65
+ driver.find_element_by_link_text('テキスト').click()
66
+
67
+
68
+
69
+ # 文字を入力
70
+
71
+ driver.find_element_by_id('content').send_keys(Content.replace('¥r','¥¥r').replace('¥n','¥¥n')
72
+
73
+
74
+
75
+ driver.find_element_by_css_selector("#save-post").click
76
+
77
+ ```