NoSuchElementException Traceback (most recent call last) Cell In[22], line 4 2 time.sleep(1) 3 class_name_page_wrapper =”pager-block” —-> 4 driver.find_element(By.CLASS_NAME, class_name_page_wrapper).find_element(By.LINK_TEXT, “次へ>>”).click() 5 print(driver.current_url) File ~anaconda3libsite-packagesseleniumwebdriverremotewebelement.py:417, in WebElement.find_element(self, by, value) 414 by = By.CSS_SELECTOR 415 value = f'[name=”{value}”]’ –> 417 return self._execute(Command.FIND_CHILD_ELEMENT, {“using”: by, “value”: value})[“value”] File ~anaconda3libsite-packagesseleniumwebdriverremotewebelement.py:395, in WebElement._execute(self, command, params) 393 params = {} 394 params[“id”] = self._id –> 395 return self._parent.execute(command, params) File ~anaconda3libsite-packagesseleniumwebdriverremotewebdriver.py:347, in WebDriver.execute(self, driver_command, params) 345 response = self.command_executor.execute(driver_command, params) 346 if response: –> 347 self.error_handler.check_response(response) 348 response[“value”] = self._unwrap_value(response.get(“value”, None)) 349 return response File ~anaconda3libsite-packagesseleniumwebdriverremoteerrorhandler.py:229, in ErrorHandler.check_response(self, response) 227 alert_text = value[“alert”].get(“text”) 228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here –> 229 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”link text”,”selector”:”次へ>>”} (Session info: chrome-headless-shell=122.0.6261.94); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Stacktrace: GetHandleVerifier [0x00B98D03+51395] (No symbol) [0x00B05F61] (No symbol) [0x009BE13A] (No symbol) [0x009F62BB] (No symbol) [0x009F63EB] (No symbol) [0x009EE001] (No symbol) [0x00A13ED4] (No symbol) [0x009EDF7E] (No symbol) [0x00A14124] (No symbol) [0x00A2A570] (No symbol) [0x00A13C26] (No symbol) [0x009EC629] (No symbol) [0x009ED40D] GetHandleVerifier [0x00F168D3+3712147] GetHandleVerifier [0x00F55CBA+3971194] GetHandleVerifier [0x00F50FA8+3951464] GetHandleVerifier [0x00C49D09+776393] (No symbol) [0x00B11734] (No symbol) [0x00B0C618] (No symbol) [0x00B0C7C9] (No symbol) [0x00AFDDF0] BaseThreadInitThunk [0x7548FCC9+25] RtlGetAppContainerNamedObjectPath [0x76EE7C5E+286] RtlGetAppContainerNamedObjectPath [0x76EE7C2E+238]
NoSuchElementExceptionは、指定された条件に一致する要素が見つからなかった場合に発生します。エラーメッセージを見る限り、次へのリンク(<a>要素)が見つからなかったようです。
この問題を解決 ...
スクロールバーが複数ある場合、画面の最下部へ移動したいんだけど、seleniumでどうやるの?うまくいかない
Seleniumを使用してページの最下部にスクロールするには、JavaScriptを使用してページのスクロール位置を制御する方法があります。以下はその方法です:
python# ページの最下部にスクロールするためのJa ...
Traceback (most recent call last): File “/home/NBSystem/manage.py”, line 22, in <module> main() File “/home/NBSystem/manage.py”, line 18, in main execute_from_command_line(sys.argv) File “/usr/local/lib/python3.10/dist-packages/django/core/management/__init__.py”, line 442, in execute_from_command_line utility.execute() File “/usr/local/lib/python3.10/dist-packages/django/core/management/__init__.py”, line 436, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File “/usr/local/lib/python3.10/dist-packages/django/core/management/base.py”, line 413, in run_from_argv self.execute(*args, **cmd_options) File “/usr/local/lib/python3.10/dist-packages/django/core/management/base.py”, line 459, in execute output = self.handle(*args, **options) File “/usr/local/lib/python3.10/dist-packages/django/core/management/base.py”, line 107, in wrapper res = handle_func(*args, **kwargs) File “/usr/local/lib/python3.10/dist-packages/django/core/management/commands/migrate.py”, line 356, in handle post_migrate_state = executor.migrate( File “/usr/local/lib/python3.10/dist-packages/django/db/migrations/executor.py”, line 135, in migrate state = self._migrate_all_forwards( File “/usr/local/lib/python3.10/dist-packages/django/db/migrations/executor.py”, line 167, in _migrate_all_forwards state = self.apply_migration( File “/usr/local/lib/python3.10/dist-packages/django/db/migrations/executor.py”, line 252, in apply_migration state = migration.apply(state, schema_editor) File “/usr/local/lib/python3.10/dist-packages/django/db/migrations/migration.py”, line 132, in apply operation.database_forwards( File “/usr/local/lib/python3.10/dist-packages/django/db/migrations/operations/fields.py”, line 235, in database_forwards schema_editor.alter_field(from_model, from_field, to_field) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/base/schema.py”, line 880, in alter_field self._alter_field( File “/usr/local/lib/python3.10/dist-packages/django/db/backends/base/schema.py”, line 1137, in _alter_field self.execute( File “/usr/local/lib/python3.10/dist-packages/django/db/backends/base/schema.py”, line 201, in execute cursor.execute(sql, params) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 122, in execute return super().execute(sql, params) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 79, in execute return self._execute_with_wrappers( File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 92, in _execute_with_wrappers return executor(sql, params, many, context) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 100, in _execute with self.db.wrap_database_errors: File “/usr/local/lib/python3.10/dist-packages/django/db/utils.py”, line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 105, in _execute return self.cursor.execute(sql, params) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/mysql/base.py”, line 76, in execute return self.cursor.execute(query, args) File “/usr/local/lib/python3.10/dist-packages/MySQLdb/cursors.py”, line 179, in execute res = self._query(mogrified_query) File “/usr/local/lib/python3.10/dist-packages/MySQLdb/cursors.py”, line 330, in _query db.query(q) File “/usr/local/lib/python3.10/dist-packages/MySQLdb/connections.py”, line 261, in query _mysql.connection.query(self, query) django.db.utils.OperationalError: (1118, ‘Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs’)
これは、行サイズが大きすぎてMySQLが処理できないために発生しています。特に、テーブルに大量のTEXT型またはBLOB型の列が含まれている場合によく発生します。
この問題を解決するためには、いくつかの方法があります。
File “/usr/local/lib/python3.10/dist-packages/django/utils/asyncio.py”, line 26, in inner return func(*args, **kwargs) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/base/base.py”, line 274, in ensure_connection with self.wrap_database_errors: File “/usr/local/lib/python3.10/dist-packages/django/db/utils.py”, line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File “/usr/local/lib/python3.10/dist-packages/django/db/backends/base/base.py”, line 275, in ensure_connection self.connect() File “/usr/local/lib/python3.10/dist-packages/django/utils/asyncio.py”, line 26, in inner return func(*args, **kwargs) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/base/base.py”, line 256, in connect self.connection = self.get_new_connection(conn_params) File “/usr/local/lib/python3.10/dist-packages/django/utils/asyncio.py”, line 26, in inner return func(*args, **kwargs) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/mysql/base.py”, line 256, in get_new_connection connection = Database.connect(**conn_params) File “/usr/local/lib/python3.10/dist-packages/MySQLdb/__init__.py”, line 121, in Connect return Connection(*args, **kwargs) File “/usr/local/lib/python3.10/dist-packages/MySQLdb/connections.py”, line 195, in __init__ super().__init__(*args, **kwargs2) django.db.utils.OperationalError: (1049, “Unknown database ‘nbsystem'”)
このエラーは、DjangoがMySQLデータベースに接続しようとしているが、データベースが存在しないために発生しています。エラーメッセージによれば、”nbsystem”という名前のデータベースが見つかりません。 ...
BLOBで保存したい
BLOB(Binary Large Object)は、データベース内にバイナリデータを保存するためのデータ型です。BLOBを使用すると、画像、音声、ビデオ、および他のバイナリデータをデータベースに格納できます。
Djang ...
BLOB ってなに
BLOB(Binary Large OBject)は、データベース内にバイナリデータ(画像、音声、ビデオなど)を格納するためのデータ型です。BLOBは、通常、文字列や数値などのテキストデータではなく、バイナリ形式のデータを格納するため ...
Error occurred during Scraping pmc: (1406, “Data too long for column ‘related_products’ at row 1”)
このエラーは、MySQLのデータベースにおいて、’related_products’という列に挿入しようとしたデータが長すぎるために発生しています。MySQLでは、列のデータの長さが指定された最大長を超えるとこ ...
.save()って?
.save()はDjangoモデルインスタンスのメソッドで、データベースにそのインスタンスを保存するために使用されます。このメソッドを呼び出すと、Djangoは新しいレコードをデータベースに挿入し、既存のレコードを更新します。 ...
# size_weighted_avg_dfからデータを取得してモデルに保存 for index, row in size_weighted_avg_df.iterrows(): size = row[‘サイズ’] weighted_average = row[‘加重平均送料’] # 新しいモデルオブジェクトを作成してデータを設定 size_weighted_average = SizeWeightedAverage(size=size, weighted_average=weighted_average) # データを保存 size_weighted_average.save() 上記はいつ実行されるの?
このコードは、size_weighted_avg_dfのデータを取得し、それぞれの行に対してモデルオブジェクトを作成して保存するために使用されます。つまり、このコードはプログラムの実行中に実行されます。
通常、このコードは ...
size_weighted_avg_dfもモデルへ格納したい
size_weighted_avg_dfをモデルに格納するには、次の手順に従います。
size_weighted_avg_dfからデータを取得します。取得したデータをモデルオブジェクトに変換します。
モデルオブジェ ...
value_search.models.ShippingArea.DoesNotExist: ShippingArea matching query does not exist. これもパスしたい
ShippingAreaモデルに一致するクエリが見つからない場合に発生するこのエラーをスキップするには、try-exceptブロックを使用して例外をキャッチし、適切な処理を行います。
以下は、try-exceptブロックを ...
このエラーが出たらスキップしたいんだけど
エラーが発生した場合に処理をスキップするためには、例外処理を使用して特定のエラーが発生した場合に処理をスキップするようにします。具体的には、tryとexceptを使用してエラーをキャッチし、処理をスキップするようにします。
return executor(sql, params, many, context) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 100, in _execute with self.db.wrap_database_errors: File “/usr/local/lib/python3.10/dist-packages/django/db/utils.py”, line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File “/usr/local/lib/python3.10/dist-packages/django/db/backends/utils.py”, line 105, in _execute return self.cursor.execute(sql, params) File “/usr/local/lib/python3.10/dist-packages/django/db/backends/sqlite3/base.py”, line 329, in execute return super().execute(query, params) django.db.utils.IntegrityError: UNIQUE constraint failed: value_search_deliverydata.original_number
このエラーメッセージは、DeliveryDataモデルのoriginal_numberフィールドに設定された一意制約が違反されたことを示しています。つまり、既にデータベースに同じoriginal_numberの値が存在しており、その値 ...
File “<frozen importlib._bootstrap>”, line 688, in _load_unlocked File “<frozen importlib._bootstrap_external>”, line 883, in exec_module File “<frozen importlib._bootstrap>”, line 241, in _call_with_frames_removed File “/home/NBSystem/value_search/models.py”, line 153, in <module> class DeliveryData(models.Model): File “/home/NBSystem/value_search/models.py”, line 169, in DeliveryData consumption_tax = models.models.CharField(max_length=100) AttributeError: module ‘django.db.models’ has no attribute ‘models’. Did you mean: ‘Model’?
エラーメッセージを見ると、DeliveryDataモデルの定義中に問題があるようです。特に、consumption_taxフィールドの定義に問題があるようです。
エラーメッセージによると、AttributeError: m ...
File “/usr/local/lib/python3.10/dist-packages/django/db/models/sql/compiler.py”, line 1746, in <listcomp> [ File “/usr/local/lib/python3.10/dist-packages/django/db/models/sql/compiler.py”, line 1747, in <listcomp> self.prepare_value(field, self.pre_save_val(field, obj)) File “/usr/local/lib/python3.10/dist-packages/django/db/models/sql/compiler.py”, line 1686, in prepare_value return field.get_db_prep_save(value, connection=self.connection) File “/usr/local/lib/python3.10/dist-packages/django/db/models/fields/__init__.py”, line 1824, in get_db_prep_save self.to_python(value), self.max_digits, self.decimal_places File “/usr/local/lib/python3.10/dist-packages/django/db/models/fields/__init__.py”, line 1807, in to_python raise exceptions.ValidationError( django.core.exceptions.ValidationError: [‘“-” は10進浮動小数値にしなければなりません。’]
このエラーメッセージは、”-“が10進浮動小数点数として無効であることを示しています。これは、フィールドに対して適切な数値が提供されていないことを意味します。
問題の解決方法は、CSVファイル内のデ ...
local/lib/python3.10/dist-packages/django/db/models/fields/__init__.py”, line 1013, in get_db_prep_save return self.get_db_prep_value(value, connection=connection, prepared=False) File “/usr/local/lib/python3.10/dist-packages/django/db/models/fields/__init__.py”, line 1530, in get_db_prep_value value = self.get_prep_value(value) File “/usr/local/lib/python3.10/dist-packages/django/db/models/fields/__init__.py”, line 1525, in get_prep_value return self.to_python(value) File “/usr/local/lib/python3.10/dist-packages/django/db/models/fields/__init__.py”, line 1491, in to_python raise exceptions.ValidationError( django.core.exceptions.ValidationError: [‘“12月1日” は無効な日付形式です。YYYY-MM-DD 形式にしなければなりません。’]
エラーメッセージによれば、日付形式が無効であるとのことです。Djangoでは日付形式として”YYYY-MM-DD”形式を要求していますが、CSVファイル内の日付が”12月1日”のような形 ...
DeliveryDataに保存したい
了解しました。まず、エリア情報を含むarea_dataをインポートし、そのデータを元にShippingAreaモデルのインスタンスを作成し、保存します。その後、DeliveryDataモデルのインスタンスを作成し、それぞれのレコードに ...
梱包サイズ毎に加重平均送料を算出してほしい
numeric_only=numeric_only,
11489 min_count=min_count,
11490 )
File ~anaconda3libsite-packagespandascore ...
地区発送割合送料 関東50%468 関西50%523 上記なら、平均送料は、(465+523)/2で495になるよね。 じゃあ、 地区発送割合送料 関東69%468 関西31%523 上記ならどうなる?
地区ごとの発送割合を考慮して、平均送料を計算します。
関東の発送割合が69%、関西の発送割合が31%の場合、平均送料は次のように計算されます:
平均送料=(468×0.69)+(523×0.31)text{平均 ...
60サイズの割合が100%と仮定して。60サイズだけでいいよ。
了解しました。60サイズの割合を100%と仮定して、60サイズの適正な価格を計算します。
60サイズの送料を計算するには、提供された発送割合と送料を使用します。60サイズの送料は、関東の発送割合が39%、関西の発送割合が1 ...
発送割合2%2%2%39%7%2%9%17%5%3%10% サイズ大きさ重量北海道北東北南東北関東信越北陸中部関西中国四国九州沖縄 (3辺計)北海道青森・岩手宮城・山形茨城・栃木新潟・長野富山・石川岐阜・静岡滋賀・京都鳥取・島根徳島・香川福岡・佐賀沖縄 秋田福島群馬・埼玉福井愛知・三重大阪・兵庫岡山・広島愛媛・高知長崎・熊本 千葉・東京奈良山口大分・宮崎 神奈川・山梨和歌山鹿児島 6060cm以内2kg以内8205234904684904904905236337438201,364 8080cm以内5kg以内8535454904904904904905456557658531,914 100100cm以内10kg以内9085785235235235235235786887989082,486 120120cm以内15kg以内9636335785785785785786337438539633,036 140140cm以内20kg以内1,0181,0736886886886886887437989081,0183,608 160160cm以内25kg以内1,2389088538538538538539089631,0731,2384,158 180180cm以内30kg以内2,8382,5082,3982,3982,3982,3982,3982,5082,6182,6182,8384,708 200200cm以内30kg以内3,2782,9482,8382,8382,8382,8382,8382,9483,0583,0583,2785,258 上記の発送実績がある。 発送割合を考慮して、サイズ毎に適正価格を算出せよ
各サイズごとに適正価格を算出するためには、以下の手順に従います:
各地域の送料を発送割合に応じて加重平均して、全体の平均送料を求めます。利益率を設定します。例えば、利益率が20%の場合、利益率は0.20となります。
地区発送割合 関東39% 関西17% 九州10% 中部9% 信越7% 中国5% 北東北3% 四国3% 北海道2% 南東北2% 北陸2% 上記の発送割合の際、商品サイズ毎に損益分岐点の価格を知りたいんだ。どうしたらいい
損益分岐点の価格を計算するには、各地域の発送割合と送料を考慮して、全体の平均送料を算出し、それを利益率に応じて製品の販売価格に加えることが必要です。
具体的な手順は以下の通りです:
各地域の送料を発送割合に応じて加重 ...