回答編集履歴

2

コメント受けて追記

2019/11/14 05:25

投稿

shirai
shirai

スコア1290

test CHANGED
@@ -19,3 +19,57 @@
19
19
 
20
20
 
21
21
  でどうでしょうか。
22
+
23
+
24
+
25
+ # コメントを受けて追記
26
+
27
+
28
+
29
+ それではそのlink_listの配下にあるaタグであることを明示してあげるとよいです。
30
+
31
+ ```python
32
+
33
+ urls = []
34
+
35
+ for a_tag in driver.find_elements_by_class_name('link_list')[0].find_elements_by_tag_name('a'):
36
+
37
+ urls.append(a_tag.get_attirbute('href'))
38
+
39
+ print(urls)
40
+
41
+ ```
42
+
43
+
44
+
45
+ 先にあげた内包表記はSeleniumではなくpythonのテクニックです。
46
+
47
+ 私は好んで使っていますが、むやみやたら長くなると
48
+
49
+ 可読性が落ちるので、使いどころは考えながらになります。
50
+
51
+ 例えば以下2つはどちらも[0, 2, 4, 8]と出力されます。
52
+
53
+ ```python
54
+
55
+ numbers = []
56
+
57
+ for i in range(5):
58
+
59
+ if i != 3:
60
+
61
+ numbers.append(i*2)
62
+
63
+ print(numbers)
64
+
65
+ ```
66
+
67
+
68
+
69
+ ```python
70
+
71
+ numbers = [i*2 for i in range(5) if i != 3]
72
+
73
+ print(numbers)
74
+
75
+ ```

1

ミス

2019/11/14 05:25

投稿

shirai
shirai

スコア1290

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```python
14
14
 
15
- urls = [a_tag.get_attribute('href') for a_tag in driver.find_element_by_tag_name('a') if 'fuat' in a_tag.get_attribute('href')]
15
+ urls = [a_tag.get_attribute('href') for a_tag in driver.find_elements_by_tag_name('a') if 'fuat' in a_tag.get_attribute('href')]
16
16
 
17
17
  ```
18
18