質問編集履歴

6

スクショを貼るのはよろしくない・・旨のご指摘をいただき、変更させていただきました。その他、ユーザー名など一部マスクさせていただきました

2024/11/13 01:24

投稿

hidesroon
hidesroon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -48,8 +48,9 @@
48
48
  > from fake_useragent import UserAgent
49
49
  > options.add_argument("--user-agent=" + UserAgent(os="windows").chrome)
50
50
 
51
-
51
+ 【.cache 以下に配置されています 】
52
+ > /xxxx/.cache/selenium/chrome/linux64/120.0.6099.109/chrome
52
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-10/1901cfdf-fac7-447e-87c2-aaca758ca694.jpeg)
53
+ > /xxxx/.cache/selenium/chromedriver/linux64/120.0.6099.109/chromedriver
53
54
 
54
55
  11/11 追記・・
55
56
  最初はEC2側にgoogle chrome をインストールしました・・が
@@ -57,7 +58,12 @@
57
58
  正しくインストールされていない様なので削除しているのが
58
59
  今の環境となります
59
60
 
61
+ 【chrome の確認 】
62
+ > [コマンド] google-chrome --version
60
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-11/8f188b51-b78d-45e5-b30a-4dacc23bc523.jpeg)
63
+ > ⇨ /xxxx/google-chrome: symbol lookup error: /usr/bin/google-chrome: undefined symbol: cupsUserAgent
64
+
65
+ > [コマンド] which google-chrome
66
+ > ⇨ /xxxx/google-chrome
61
67
 
62
68
  11/11 追記・・
63
69
  ①下記追加しても変化なし
@@ -94,15 +100,15 @@
94
100
  【AWSサポートからの返信】
95
101
  >> あくまで 1 エンジニアとして当該パッケージに関して簡単ではございますが調査した結果を参考としてお伝えさせていただきます。
96
102
  >>
97
- >> エラーはCUPS(ネットワークプリンタ関連のパッケージ)に関連するもの。
103
+ >> エラーはCUPS(ネットワークプリンタ関連のパッケージ)に関連するもの。
98
- >> Amazon Linux 2の最新のCUPSパッケージバージョンは1.6.3-51
104
+ >> Amazon Linux 2の最新のCUPSパッケージバージョンは1.6.3-51
99
- >> ===抜粋
105
+ >>
100
- >> # yum list cups
106
+ >> [コマンド] yum list cups
101
- >> ...
107
+ >>
102
108
  >> 利用可能なパッケージ
103
109
  >> cups.x86_64 1:1.6.3-51.amzn2.0.5
104
- >> ===
110
+ >>
105
- >> Chrome は9月下旬に cupsUserAgent() のチェックを行うようになったようです。
111
+ >> Chrome は9月下旬に cupsUserAgent() のチェックを行うようになったようです。
106
112
  >> https://chromium.googlesource.com/chromium/src/+/9cde337915612235f6467f96e4a8df9b813c148f
107
113
  >> ・cupsUserAgent()はバージョン1.7以降で利用可能となった模様。
108
114
  >> https://www.cups.org/doc/cupspm.html#cupsUserAgent
@@ -119,7 +125,11 @@
119
125
 
120
126
  【chromeが正しくインストールされてるか?】
121
127
  サポートからの情報共有の通り、cupsUserAgent に問題がある様です
122
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-12/378c6815-08a0-421c-a164-648cc40d1033.jpeg)
128
+ >[コマンド] /xxxx/z_keys/chrome-linux64/130_0_6723_116/chrome --headless=new --no-sandbox --single-process --disable-dev-shm-usage
129
+ >[コマンド] /xxxx/z_keys/chrome-linux64/130_0_6723_116/chrome --headless
130
+ >[コマンド] /xxxx/z_keys/chrome-linux64/130_0_6723_116/chrome --headless=new
131
+ > ⇨ /xxxx/z_keys/chrome-linux64/130_0_6723_116/chrome: symbol lookup error: /xxxx/z_keys/chrome-linux64/130_0_6723_116/chrome: undefined symbol: cupsUserAgent
132
+
123
133
 
124
134
 
125
135
 
@@ -130,27 +140,27 @@
130
140
  ### エラーメッセージ
131
141
  ```error
132
142
  Traceback (most recent call last):
133
- File "/home/ec2-user/batch_files/scraping/selenium_test.py", line 136, in <module>
143
+ File "/xxxx/batch_files/scraping/selenium_test.py", line 136, in <module>
134
144
  main()
135
- File "/home/ec2-user/batch_files/scraping/selenium_test.py", line 83, in main
145
+ File "/xxxx/batch_files/scraping/selenium_test.py", line 83, in main
136
146
  driver = webdriver.Chrome(options=options)
137
147
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138
- File "/home/ec2-user/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
148
+ File "/xxxx/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
139
149
  super().__init__(
140
- File "/home/ec2-user/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
150
+ File "/xxxx/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
141
151
  super().__init__(command_executor=executor, options=options)
142
- File "/home/ec2-user/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 238, in __init__
152
+ File "/xxxx/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 238, in __init__
143
153
  self.start_session(capabilities)
144
- File "/home/ec2-user/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 325, in start_session
154
+ File "/xxxx/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 325, in start_session
145
155
  response = self.execute(Command.NEW_SESSION, caps)["value"]
146
156
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147
- File "/home/ec2-user/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 380, in execute
157
+ File "/xxxx/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 380, in execute
148
158
  self.error_handler.check_response(response)
149
- File "/home/ec2-user/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
159
+ File "/xxxx/.pyenv/versions/3.11.5/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
150
160
  raise exception_class(message, screen, stacktrace)
151
161
  selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally.
152
162
  (session not created: DevToolsActivePort file doesn't exist)
153
- (The process started from chrome location /home/ec2-user/.cache/selenium/chrome/linux64/130.0.6723.116/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
163
+ (The process started from chrome location /xxxx/.cache/selenium/chrome/linux64/130.0.6723.116/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
154
164
  ```
155
165
 
156
166
  ### 該当のソースコード
@@ -180,17 +190,17 @@
180
190
  # local
181
191
  # options.binary_location = '/Users/xxxx/Desktop/works/python/130_0_6723_116/chrome-mac-x64/google_chrome.app'
182
192
  # EC2
183
- options.binary_location = '/home/ec2-user/z_keys/chrome-linux64/130_0_6723_116/chrome'
193
+ options.binary_location = '/xxxx/z_keys/chrome-linux64/130_0_6723_116/chrome'
184
194
 
185
195
 
186
196
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
187
197
  # driver は入れない
188
198
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
189
199
  # service = Service(
190
- # executable_path=r'/home/ec2-user/z_keys/chromedriver-linux64/130_0_6723_116/chromedriver'
200
+ # executable_path=r'/xxxx/z_keys/chromedriver-linux64/130_0_6723_116/chromedriver'
191
- # # executable_path=r'/home/ec2-user/z_keys/chromedriver-linux64/130_0_6723_116/chromedriver.exe'
201
+ # # executable_path=r'/xxxx/z_keys/chromedriver-linux64/130_0_6723_116/chromedriver.exe'
192
202
  # )
193
- # service = Service('/home/ec2-user/z_keys/chromedriver-linux64/130_0_6723_116/chromedriver')
203
+ # service = Service('/xxxx/z_keys/chromedriver-linux64/130_0_6723_116/chromedriver')
194
204
 
195
205
  #-------------------------------------------------------------
196
206
  # クロームの立ち上げ
@@ -210,12 +220,6 @@
210
220
  title = driver.title
211
221
  print(f"{title=}")
212
222
  driver.quit()
213
-
214
- #------------------------------------------------------------------
215
- #
216
- #------------------------------------------------------------------
217
- if __name__ == "__main__":
218
- main()
219
223
  ```
220
224
 
221
225
  ### 試したこと・調べたこと

5

アドバイスをいただいた内容を実行し、その結果を反映させていただきました

2024/11/12 01:06

投稿

hidesroon
hidesroon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -86,8 +86,40 @@
86
86
  【Chrome for Testing】
87
87
  https://googlechromelabs.github.io/chrome-for-testing/
88
88
 
89
-
89
+ 11/12 追記
90
-
90
+ google chromeを手動でDLして、EC2にアップしたのは
91
+ EC2側に正しくchrome がインストールされていない??様なのが
92
+ 背景にあります
93
+
94
+ 【AWSサポートからの返信】
95
+ >> あくまで 1 エンジニアとして当該パッケージに関して簡単ではございますが調査した結果を参考としてお伝えさせていただきます。
96
+ >>
97
+ >> ・エラーはCUPS(ネットワークプリンタ関連のパッケージ)に関連するもの。
98
+ >> ・Amazon Linux 2の最新のCUPSパッケージバージョンは1.6.3-51
99
+ >> ===抜粋
100
+ >> # yum list cups
101
+ >> ...
102
+ >> 利用可能なパッケージ
103
+ >> cups.x86_64 1:1.6.3-51.amzn2.0.5
104
+ >> ===
105
+ >> ・Chrome は9月下旬に cupsUserAgent() のチェックを行うようになったようです。
106
+ >> https://chromium.googlesource.com/chromium/src/+/9cde337915612235f6467f96e4a8df9b813c148f
107
+ >> ・cupsUserAgent()はバージョン1.7以降で利用可能となった模様。
108
+ >> https://www.cups.org/doc/cupspm.html#cupsUserAgent
109
+ >>
110
+ >> 以上から、現時点で Amazon Linux 2 で提供されているパッケージだけを利用して Chrome を利用することは難しいと考えます。
111
+ >> 対応として、以下などが考えられます。
112
+ >> 1. Amazon Linux 2 に CUPS1.7 以上のパッケージを CUPS 公式など外部からパッケージ導入またはコンパイル導入する。
113
+ >> ※ 先述の通り、外部パッケージ導入に関してのご支援は行なっておりません。
114
+ >> 2. 古いバージョン Chrome の導入をお試しいただく。
115
+ >> ※ セキュリティの観点からお勧めはいたしません。また、古いバージョン Chrome が提供されているかは提供元にご確認ください。
116
+ >> 3. 他のディストリビューション (RHEL9 など) をご利用いただく。
117
+ >> ※ Amazon Linux 2023 は CUPS2.3 が採用されておりますが、GUI 環境は提供されておりません。
118
+ >> https://github.com/amazonlinux/amazon-linux-2023/issues/47
119
+
120
+ 【chromeが正しくインストールされてるか?】
121
+ サポートからの情報共有の通り、cupsUserAgent に問題がある様です
122
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-12/378c6815-08a0-421c-a164-648cc40d1033.jpeg)
91
123
 
92
124
 
93
125
 

4

似た様な症状のスレッドを見つけたので共有してます。かなり自分と似た様な症状です

2024/11/11 09:41

投稿

hidesroon
hidesroon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -71,6 +71,22 @@
71
71
  > options.add_argument("--remote-debugging-pipe")
72
72
 
73
73
  ③selenium のバージョンを 4.22.0 に変更しても変化ありません・・
74
+
75
+ 11/11 追記
76
+ ここに、かなり似た症状のケースがあり
77
+ このやりとりと同じ事を対応しました・・・が結果は変わらずです
78
+ ここでのやり取りでの、結果もかなり似てました
79
+
80
+ https://github.com/SeleniumHQ/selenium/issues/14219
81
+
82
+ 最後の方で、chrome for test に問題があるかどうか?わからない・・と言ってます
83
+ >> I noticed in this comment #14219 (comment) that you mentioned you are using CFT
84
+ >> version of google chrome. I don't know if that can be related to the problem or not.
85
+
86
+ 【Chrome for Testing】
87
+ https://googlechromelabs.github.io/chrome-for-testing/
88
+
89
+
74
90
 
75
91
 
76
92
 

3

対応した内容を追記しております

2024/11/11 02:24

投稿

hidesroon
hidesroon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -51,13 +51,27 @@
51
51
 
52
52
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-10/1901cfdf-fac7-447e-87c2-aaca758ca694.jpeg)
53
53
 
54
- 追記・・
54
+ 11/11 追記・・
55
55
  最初はEC2側にgoogle chrome をインストールしました・・が
56
56
  バージョン確認をするとエラーとなり
57
57
  正しくインストールされていない様なので削除しているのが
58
58
  今の環境となります
59
59
 
60
60
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-11/8f188b51-b78d-45e5-b30a-4dacc23bc523.jpeg)
61
+
62
+ 11/11 追記・・
63
+ ①下記追加しても変化なし
64
+ > userdata_dir = 'UserData' # カレントディレクトリの直下に作る場合
65
+ > os.makedirs(userdata_dir, exist_ok=True)
66
+ > options.add_argument('--user-data-dir=/home/ec2-user/' + userdata_dir)
67
+ > options.add_argument('--profile-directory=Default')
68
+
69
+
70
+ ②下記追加すると、タイムアウトエラーが出ます
71
+ > options.add_argument("--remote-debugging-pipe")
72
+
73
+ ③selenium のバージョンを 4.22.0 に変更しても変化ありません・・
74
+
61
75
 
62
76
 
63
77
 

2

EC2側にchrome をインストールした後にバージョン確認ができなかった時のスクショを添付

2024/11/11 00:56

投稿

hidesroon
hidesroon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,14 @@
50
50
 
51
51
 
52
52
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-10/1901cfdf-fac7-447e-87c2-aaca758ca694.jpeg)
53
+
54
+ 追記・・
55
+ 最初はEC2側にgoogle chrome をインストールしました・・が
56
+ バージョン確認をするとエラーとなり
57
+ 正しくインストールされていない様なので削除しているのが
58
+ 今の環境となります
59
+
60
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-11-11/8f188b51-b78d-45e5-b30a-4dacc23bc523.jpeg)
53
61
 
54
62
 
55
63
 

1

PythonスクリプトのGoogle Chromeへのパスのコメントを変更。local をコメントにして、EC2側をopen にしました。環境にPython 3.11を追記

2024/11/11 00:41

投稿

hidesroon
hidesroon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,7 @@
6
6
  大変助かります
7
7
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
8
8
  【ローカル環境】
9
+ ・Python 3.11
9
10
  ・Selenium 4.26.1
10
11
  ・mac OS
11
12
  ・chrome 手動でダウンロード(Version: 130.0.6723.116)
@@ -19,6 +20,7 @@
19
20
 
20
21
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
21
22
  【EC2環境】
23
+ ・Python 3.11
22
24
  ・Selenium 4.26.1をインストール
23
25
  ・chrome は手動でダウンロード(Version: 130.0.6723.116)
24
26
  ・chromeのパスは直接指定
@@ -106,9 +108,9 @@
106
108
  options.add_argument('--disable-dev-shm-usage') # ディスクのメモリスペースを使う
107
109
  # chromeの実行ファイルが格納されているパスを指定する
108
110
  # local
109
- options.binary_location = '/Users/xxxx/Desktop/works/python/130_0_6723_116/chrome-mac-x64/google_chrome.app'
111
+ # options.binary_location = '/Users/xxxx/Desktop/works/python/130_0_6723_116/chrome-mac-x64/google_chrome.app'
110
112
  # EC2
111
- # options.binary_location = '/home/ec2-user/z_keys/chrome-linux64/130_0_6723_116/chrome'
113
+ options.binary_location = '/home/ec2-user/z_keys/chrome-linux64/130_0_6723_116/chrome'
112
114
 
113
115
 
114
116
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~