回答編集履歴

3

追記と修正

2020/10/21 02:48

投稿

nto
nto

スコア1438

test CHANGED
@@ -79,3 +79,33 @@
79
79
  抽出しているlinkについてですが、各データに対し`class="-link"`が付与された要素が3つずつある様なので
80
80
 
81
81
  抽出の仕方を変えるか、重複した場合の対処を行ったほうが良さそうです。
82
+
83
+
84
+
85
+ ### 追記
86
+
87
+ コードをよく見ていたら、ページ遷移の際の次ページがなかった場合の処理をわすれていた為
88
+
89
+ 関数内のnext_list部分を以下の様に変更してあげてください。
90
+
91
+ ```python
92
+
93
+ try:
94
+
95
+ next_list = driver.find_element_by_class_name('-next').click()
96
+
97
+ i += 1
98
+
99
+ time.sleep(3) # 3秒間待機
100
+
101
+ except:
102
+
103
+ break
104
+
105
+
106
+
107
+
108
+
109
+ return courses_list,facili_list, price_list,link_list # タイトルとリンクのリストを戻り値に指定
110
+
111
+ ```

2

修正

2020/10/21 02:48

投稿

nto
nto

スコア1438

test CHANGED
@@ -1,8 +1,10 @@
1
1
  間違いとまでは言いませんが`class_group`の定義の仕方が少しおかしいです。
2
2
 
3
- 掲題のコードではどうがんばっても要素は1つしかない為、elementsとする必要がないです。
3
+ どうがんばっても指定の要素は1つしかない為、elementsとする必要がないです。
4
4
 
5
5
  またそれが原因でページ内のデータも冒頭の1個しか取得出来ていない様です。
6
+
7
+ (リストになってしまっている為)
6
8
 
7
9
 
8
10
 

1

修正

2020/10/18 12:00

投稿

nto
nto

スコア1438

test CHANGED
@@ -2,13 +2,17 @@
2
2
 
3
3
  掲題のコードではどうがんばっても要素は1つしかない為、elementsとする必要がないです。
4
4
 
5
+ またそれが原因でページ内のデータも冒頭の1個しか取得出来ていない様です。
6
+
7
+
8
+
5
- またこの場合であれば`find_element_by_class_name('page-search__list')`と指定し
9
+ この場合であれば`find_element_by_class_name('page-search__list')`と指定し
6
10
 
7
11
  もう少し細かく対象を絞った方が抽出も楽で、これでページ内の全ての情報が取得できます。
8
12
 
9
13
 
10
14
 
11
- また次ページの抽出についても特に`class_group`から抽出する必要性は特になさそうでdriver変数から取ったほうが良さそうです。
15
+ ページ遷移の次ページの抽出についても特に`class_group`から抽出する必要性は特になさそうでdriver変数から取ったほうが良さそうです。
12
16
 
13
17
 
14
18