質問編集履歴

5

解決したので「解決した」という箇所を追加した。質問回答者様にベストアンサーとして選びたいのですが、コメントとして記載され知恵いたので、ベストアンサーにすること月できません

2023/05/04 00:38

投稿

loulou098
loulou098

スコア15

test CHANGED
File without changes
test CHANGED
@@ -122,3 +122,8 @@
122
122
 
123
123
 
124
124
  *seleniumのバージョンを3系に変更してfind_element_by_idのような記述する方法でやるという方法もあると思います。しかし以前そうしたことで、Chrome driverに関するエラーが頻発したため、この方法ではやりたくないのが正直なところです。
125
+
126
+ ### 解決しました
127
+
128
+ 本来はa.sc-dtLLSn.dpehytのところを、「class= 〜」の「〜」部分をコピーしていたため、ずっと指定している要素がみつからないという状態に陥っていました!![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-04/c6d56832-b828-4e05-88f3-7a94ac410914.png)
129
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-04/921f6dc8-916c-4077-b974-ead05aa00fc0.png)

4

試したことを追加した

2023/05/02 23:48

投稿

loulou098
loulou098

スコア15

test CHANGED
File without changes
test CHANGED
@@ -95,6 +95,15 @@
95
95
  e = driver.find_element(By.CSS_SELECTOR, 'div[aria-label="主要 ニュース"] * h1')
96
96
  に書き直して実行してみましたが、同じエラーが出てしまいます。
97
97
 
98
+ ・print(driver.page_source)を
99
+ e = driver.find_element(By.CSS_SELECTOR, '#columnTitle h3 *')
100
+ の前にかき、
101
+ 以下画像の赤線箇所をe = driver.find_element(By.CSS_SELECTOR, '#columnTitle h3 *')の「#columnTitle h3 *」部分に挿入して実行してみましたが全て同じエラーでした。
102
+ ```
103
+ <span class="sc-WZYut jLeSfx"><span type="NEW" aria-label="NEW" class="sc-eirqVv XiyIJ" role="img"></span></span></a></li><li data-ual-view-type="list" data-ual="service:news;opttype:pc;apptype:web;element_id:first-main-topics-text;id_type:shannon_article;content_id:a1f7fb0d5e83c1833d8c4cc37ba925639899ff54;mtestid:mfn_31331=oth28t1&amp;mfn_18800=ttlg1tc;" class="sc-fHCHyC jhKFuK" data-ual-content-key="8ef6f43a-8dbe-4c89-9bfb-2b1b98049ee4"><a href="https://news.yahoo.co.jp/pickup/6462083" data-cl-params="_cl_vmodule:tpc_maj;_cl_link:title;_cl_position:2;" data-ual-gotocontent="true" class="sc-dtLLSn dpehyt" data-cl_cl_index="36">
104
+ ```
105
+
106
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-03/c90f0f01-bba4-4dae-8128-9b21bfb8d25d.png)
98
107
  ### 補足情報(FW/ツールのバージョンなど)
99
108
 
100
109
  Pythonのバージョン:3.10.9

3

タイトルを変更した

2023/05/02 23:18

投稿

loulou098
loulou098

スコア15

test CHANGED
@@ -1 +1 @@
1
- CSSセレクタの記述法を用てテキスト出力したい
1
+ 「Unable to locate element: {"method":"css selector","selector"」とうエラー解決したい
test CHANGED
File without changes

2

試したことを増やした

2023/05/02 23:12

投稿

loulou098
loulou098

スコア15

test CHANGED
File without changes
test CHANGED
@@ -75,6 +75,26 @@
75
75
  が帰ってくる。
76
76
  ![](https://storage.googleapis.com/zenn-user-upload/102d99c17cb2-20230502.png)
77
77
  そのため、このCSSセレクタの記述法は間違っていないことがわかる。ということは、CSSセレクタで指定する場所が間違っていると思うのですが、いろんな箇所を指定してみましたがエラーが起きてしまいます。どうすれば良いのでしょうか?
78
+
79
+ ・以下の回答をいただき、
80
+ > スクリーンショットを見ると https://news.yahoo.co.jp/ ではなくて https://yahoo.co.jp/ の様です。そうでしたら、
81
+
82
+ >e = driver.find_element(By.CSS_SELECTOR, 'div[aria-label="主要 ニュース"] * h1')
83
+
84
+ >となるのではないかと思います。(10:00 時点では「首相 7日からの韓国訪問を表明」が取得されます)
85
+
86
+ 個人的に
87
+
88
+ e = driver.find_element(By.CSS_SELECTOR, 'div[aria-label="主要 ニュース"] * h1')
89
+
90
+ の書き方を調べてみましたが、よくわかりませんでした。これはyahoo newsの検索欄で「主要 ニュース」と検索するという意味ですか?また、なぜ https://news.yahoo.co.jp/ ではなく https://yahoo.co.jp/であると、書き方が変わるのかも教えていただけると非常に嬉しいです。
91
+
92
+ 一応、ソースコードの
93
+ e = driver.find_element(By.CSS_SELECTOR, '#columnTitle h3 *')
94
+ 部分を
95
+ e = driver.find_element(By.CSS_SELECTOR, 'div[aria-label="主要 ニュース"] * h1')
96
+ に書き直して実行してみましたが、同じエラーが出てしまいます。
97
+
78
98
  ### 補足情報(FW/ツールのバージョンなど)
79
99
 
80
100
  Pythonのバージョン:3.10.9

1

試したことを追加しました

2023/05/02 22:18

投稿

loulou098
loulou098

スコア15

test CHANGED
File without changes
test CHANGED
@@ -61,7 +61,7 @@
61
61
 
62
62
  ・options.add_argument('--enable-javascript')をした後に、実行→同じエラー
63
63
 
64
- ・driver.find_element(By.CSS_SELECTOR, '#columnTitle h3 *')の「#columnTitle h3 *」を「QLtbNZwO-lssuRUcWewbd」変更→同じエラー
64
+ 上のスクショ画像にあるh1._3cl937Zpn1ce8mDKd5kp7uのようなclassと記載されている要素は全てdriver.find_element(By.CSS_SELECTOR, '#columnTitle h3 *')の「#columnTitle h3 *」部分挿入して実行どれも同じエラーでした。
65
65
 
66
66
  ・一方、
67
67
  ```