teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

改善

2020/08/27 12:48

投稿

forest_rice
forest_rice

スコア1

title CHANGED
File without changes
body CHANGED
@@ -70,4 +70,34 @@
70
70
 
71
71
  main()
72
72
 
73
+ ```
74
+
75
+ #成功
76
+ 上記のコードだと`result-cassette__item`に入っている`<li>`を全て取得していたので、数が多くエラーの原因になっていたと思います。
77
+ クラス名を指定すると欲しいものだけ取得する事ができました。
78
+
79
+ もっと簡単な方法があれば教えていただけると幸いです。
80
+ ```python
81
+ def main():
82
+ try:
83
+ options = Options()
84
+ options.binary_location = '/Applications/Chromium.app/Contents/MacOS/Chromium'
85
+ options.add_argument('--headless')
86
+
87
+ driver = webdriver.Chrome(options=options)
88
+ driver.get("https://r.gnavi.co.jp/area/hokkaido/rs/")
89
+ sleep(5)
90
+ parentElement = driver.find_elements_by_class_name("result-cassette__wrapper")[1].find_elements_by_class_name('result-cassette__item')
91
+ sleep(5)
92
+ for i in parentElement:
93
+ sleep(5)
94
+ li_links = i.find_element_by_tag_name('a').get_attribute('href')
95
+ print(li_links)
96
+ driver.close()
97
+ except:
98
+ traceback.print_exc()
99
+ driver.quit()
100
+
101
+ main()
102
+
73
103
  ```

1

追記

2020/08/27 12:48

投稿

forest_rice
forest_rice

スコア1

title CHANGED
File without changes
body CHANGED
@@ -44,4 +44,30 @@
44
44
 
45
45
  video()
46
46
 
47
+ ```
48
+ #追記
49
+ ```python
50
+ def main():
51
+ try:
52
+ options = Options()
53
+ options.binary_location = '/Applications/Chromium.app/Contents/MacOS/Chromium'
54
+ options.add_argument('--headless')
55
+
56
+ driver = webdriver.Chrome(options=options)
57
+ driver.get("https://r.gnavi.co.jp/area/hokkaido/rs/")
58
+ sleep(5)
59
+ parentElement = driver.find_elements_by_class_name("result-cassette__list")[1].find_elements_by_tag_name('li')
60
+ sleep(5)
61
+ print(parentElement)
62
+ for i in parentElement:
63
+ sleep(5)
64
+ li_links = i.find_element_by_tag_name('a').get_attribute('href')
65
+ print(li_links)
66
+ driver.close()
67
+ except:
68
+ traceback.print_exc()
69
+ driver.quit()
70
+
71
+ main()
72
+
47
73
  ```