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

回答編集履歴

2

文章修正

2020/08/24 06:45

投稿

yureighost
yureighost

スコア2183

answer CHANGED
@@ -22,7 +22,7 @@
22
22
  **追記**
23
23
  そこは質問のエラー部分とは関係ありません。
24
24
  elemが親ページのエレメントであるにも関わらず、下のbrowser.getで別ページに遷移してから、
25
- 再度elemから要素を取得しようとするとオブジェクトの内容が変わってしまっているためのエラーになります。
25
+ 再度elemから要素を取得しようとするとオブジェクトの内容が変わってしまっているためのエラーになります。
26
26
  ページ遷移する前にelemsから得られるhrefの内容をリストに全て格納してしまってからそれをループ処理した方がいいですね。
27
27
  このソースで指定されているclassにある商品名?を取得することができます。
28
28
  ```python

1

追記

2020/08/24 06:44

投稿

yureighost
yureighost

スコア2183

answer CHANGED
@@ -17,4 +17,20 @@
17
17
  link_title = browser.find_elements_by_css_selector('.ttl-h1__text.inline')
18
18
  print(link_title[0])
19
19
  ・・・
20
+ ```
21
+
22
+ **追記**
23
+ そこは質問のエラー部分とは関係ありません。
24
+ elemが親ページのエレメントであるにも関わらず、下のbrowser.getで別ページに遷移してから、
25
+ 再度elemから要素を取得しようとするとオブジェクトの内容が変わってしまっているためこのエラーになります。
26
+ ページ遷移する前にelemsから得られるhrefの内容をリストに全て格納してしまってからそれをループ処理した方がいいですね。
27
+ このソースで指定されているclassにある商品名?を取得することができます。
28
+ ```python
29
+ title = []
30
+ product_link = [pl.get_attribute('href') for pl in [elem.find_element_by_class_name('card-product__link') for elem in elems]]
31
+ for link in product_link:
32
+ browser.get(link)
33
+ time.sleep(1.0)
34
+ link_title = browser.find_elements_by_css_selector('.ttl-h1__text.inline')
35
+ print(link_title[0].text)
20
36
  ```